Deconstructing Armour Geddon

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

Moderator: Kroah

Deconstructing Armour Geddon

Postby darklight » 06 Jun 2018, 05:12

Hi Kroah,

I'm looking to pull out 3D object data, map data and if possible any interesting game 'rules' / secrets from Armour Geddon for the Atari ST. I see in other posts you say 3D games are hard to disassemble - do you have any pointers?

I'm not familiar with 68000 assembler, but have done a little on other systems before. I've got no problem learning the instructions - I am a programmer (C#) by trade. It'll take time, but I've got that :)

Regarding your EAB post where you give your method, I have a few questions:

[*]Are the tools you mention IDA / ReSource still the best options? I cant really find much about them, or where to get them from. Are they needed for Atari ST, or is STEEM's debugger enough?
[*]How do you locate the entry point of the code?
darklight
 
Posts: 1
Joined: 06 Jun 2018, 04:54

Re: Deconstructing Armour Geddon

Postby Kroah » 15 Jul 2019, 01:01

Hi darklight,

Sorry for the (very) late reply.

darklight wrote:I'm looking to pull out 3D object data, map data and if possible any interesting game 'rules' / secrets from Armour Geddon for the Atari ST. I see in other posts you say 3D games are hard to disassemble - do you have any pointers?

3D games are harder to analyse due to the interaction between the player (or entities) and the 3D environnement.
In a 2D game, it's easy to find the function in the code which has been triggered by the player.

darklight wrote:Are the tools you mention IDA / ReSource still the best options? I cant really find much about them, or where to get them from. Are they needed for Atari ST, or is STEEM's debugger is enough?

IDA and steem aren't used for the same thing.
Steem is a powerful debugger. It gives a live view of the running game, but you can't comment and label parts of the code.
IDA is a powerful "interactive" disassembler. For old processor, it gives a static view of the code (from a dump or an executable) and allows you to comment and labels the code during your analysis (rename variable and functions).
Both tools together gives the best to understand the code.

darklight wrote:[*]How do you locate the entry point of the code?

1) I think which entry point to search (for example this isn't always the start of the game or the main menu, but more often the level start).
In Steem:
2) I savestate somewhere before the entry point.
3) I put a BP (breakpoint) near after the entry point.
4) I then use the stack to backtrack functions calls.
5) I put a BP after some backtracking and reload the savestate.
6) It should break to the last BP you put.
7) Repeat from 4)

IMHO, i find this method easier than forward tracking (from the start of the game to the entry point).

Hope it helps,
Kroah
Kroah
Site Admin
 
Posts: 422
Joined: 07 Feb 2006, 01:01
Location: France


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron