My Story About Programming

I would like to introduce myself, my name is Arkan a passionate programmer, I got when I was about 10 years atari, that had simple games like tennis two bars and a simple point that is moving from side to side, and you must hit it with your side bar and if you leave it, then the other player or the computer will win :), then I got a computer that has “Basic” programming language, which I didn’t understand, in time I bought a book, which has some programs in “Basic” programming language that let you draw some stuff like circle, star, …etc by using ‘*’ star character, it attracted me about how a simple program can do this.

Then when I got 17 ( since 1995) years old, I got Commodore Amiga 500 which is based on the Motorola processor, it has 68000 processor, I liked its games.

The shop which was selling games for Amiga 500 (by making another copies), and then applying copy protection system which prevented me from making another copy (by using XCopy), this made me curious, how the protection can protect the disk from being copied by xcopy program ?

Then I got a book about assembly language for Motorola processor for Amiga, it was hard for me to understand, so I left the book in my shelf. Then after some time, the same shop which is selling Amiga games and programs, offer a course about assembly language offered by a student which he was in the 5th year in medicine faculty, he taught us the half of the book that I had, I was so happy to understand how the assembly language is working :))

I succeeded to finish the book, and then I also observed my teacher used ‘Amiga Monitor‘, and loaded a game in the memory without letting it to run, then he wrote a command to run it, for me it was interesting, then I started to learn more about ‘Amiga Monitor‘.

My friend it happened that he had a list of protection systems that can protect games from being copied, I was happy to get them, because I spent my time trying to put a protection to a game or program and try to break the protection, by using ‘Amiga Monitor‘.

After some times, I got another book for Amiga which is talking about the Amiga interrupts and how to control the motor of the disk reader heads, and coding/decoding disk tracks, and how the executable file of Amiga is constructed.

After I learned these stuff in the new book, then I stared to crack protected programs and construct their executed files in the memory and then save them in the disk again without any protection.

In Amiga was two types of way for saving data:

  1. By files
  2. By no file system (Not a dos disk), which was based on tracks, it means it start from the boot sector and then the program will collect all its data from the sectors of the disk

Then I made a an assembly program which check what type of protection is, then it breaks the protection if it’s recognized.

Then I bought a PC based on the Intel processors, and learned its assembly language for DOS, and Windows (win32API), then I started to learn C++ language, and OOP (Object Oriented Programming), Polymorphism, Multiple Inheritance, and then visual C++, which I made a cd copy protection system that can protect an exe program from being copied by a program like ‘Clone CD’, hardware duplicator device, and virtual cd, and the idea behind it was by setting part of the information of the exe program and put it in sector 7 on CD, and setting invalid sectors before and after sector 7, which will let the programs to have difficulty to read the sectors, and skip some sectors like sector 7 which it has the data of the exe file. A loader is injected in the exe file which can get the data from the sector 7 and load the rest of the file (which is encoded) and use the data from sector 7 to decode the rest of the file in memory and start it, this was in 2003 (in this year I left cracking).

Then I tried to learn a lot of stuff like programming with Direct X, ADO.Net, …etc, getting diploma from Game Institute (Module I) on 2007.

In 2006 I started web programming, and get the first work on 2009 and learn a lot of technologies.

I love programming and I will always love it


Leave a Comment

57 − 55 =