From where to start?

Talk about everything related to general reverse engineering of computer games!

Moderator: Kroah

From where to start?

Postby ijnxsw » 18 Apr 2015, 23:25

Hello, I was wondering from where do you start when wanting to reverse engineer a game? I believe the first step is to identify in which language that game was developed. However how do you go about that? How can I know in which language a particular game was developed?

Just to give some background; I am only asking this in relation to amiga games. When I was much younger I used to play games on this platform and always like to think about what I would "add" / "remove" if I had the option.
ijnxsw
 
Posts: 2
Joined: 18 Apr 2015, 23:18

Re: From where to start?

Postby Kroah » 20 Apr 2015, 21:10

Hello, you can check a post i wrote some times ago on EAB. Even if it's a bit old, i still use this method:
http://eab.abime.net/showpost.php?p=780034&postcount=8

I identify 3 distinct situations:
A) Most games from the Atari and Amiga era have been coded directly in assembler, so it's rather "easy" to disassemble them.
B) But some games have been compiled from C or Pascal. It can be a bit tedious to disassemble them because the generated assembly code can be rather verbose.
C) The third case is the worst: games written using an interpreter (for example Sundog). It's really difficult to disassemble them because one must first disassemble the interpreter.

I would say 90% of games are of type A), 9% B) and 1% C). So you have a good chance to work on the more "easy" case.

I see you're talking about Amiga. You'll read in my post on EAB that i dislike to disassemble Amiga games, because the Emulator WinUAE, while being very powerful, doesn't have a state of the art debugger like Steem, and i don't have time to enhance it either. So i always start to disassemble the Atari port of the game, then the Amiga. Most of the code being strictly identical beside Gfx and Sound functions. The problem starts when it's an exclusive Amiga game...
Kroah
Site Admin
 
Posts: 430
Joined: 07 Feb 2006, 01:01
Location: France

Re: From where to start?

Postby ijnxsw » 22 Apr 2015, 11:34

Thanks Kroah,

That was a very interesting read. I have installed ReSource (version 6) and got the assemble of one of the games I had installed. I will try to play with ReSource to familiars with it.

Kroah wrote:Hello, you can check a post i wrote some times ago on EAB. Even if it's a bit old, i still use this method:
http://eab.abime.net/showpost.php?p=780034&postcount=8


I am not sure if this game was developed in C, Pascal or pure Assemble. If it was developed with C than are their tools to convert the assemble to C? Or this would have to be done by hand? I read in that post that you re-write the assemble in to another language by hand (point 11).

Kroah wrote:B) But some games have been compiled from C or Pascal. It can be a bit tedious to disassemble them because the generated assembly code can be rather verbose.
ijnxsw
 
Posts: 2
Joined: 18 Apr 2015, 23:18


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 3 guests

cron