Trainer Making - IDA Pro and Trainermenus

Discussion in 'GBA - Game Development, ROM Hacks and Translations' started by DimondEdge, Nov 29, 2006.

Nov 29, 2006
  1. DimondEdge
    OP

    Newcomer DimondEdge Newbie

    Joined:
    Nov 28, 2006
    Messages:
    6
    Country:
    Hello.
    I am following a tutorial to make GBA Trainers, and now I am stuck. I have to disassemble a ROM with IDA Pro (which I have) but it would appear that I am missing a plug-in. IDA sees it as a binary file, which produces problems. Does anyone know where to get the plugin I need, or am I doing something wrong?

    Also, is there a good tutorial for making (and using) good GBA trainermenus? Because I have absolutly no Idea how to make one, and am a total n00b at ASM.

    All help is apprecated!

    DE
     
  2. bunsy

    Newcomer bunsy Advanced Member

    Joined:
    Nov 23, 2005
    Messages:
    88
    Country:
    Sweden
    You have an option to select which CPU IDA is supposed to work with. No plugin necessary.

    [​IMG]

    As for using a menu, i don't think any of the groups just want to hand over their assembly sources just like that.
     
  3. DimondEdge
    OP

    Newcomer DimondEdge Newbie

    Joined:
    Nov 28, 2006
    Messages:
    6
    Country:
    I've been trying that, I just get:
    Code:
    db  0x00
    ...
     
  4. bunsy

    Newcomer bunsy Advanced Member

    Joined:
    Nov 23, 2005
    Messages:
    88
    Country:
    Sweden
    Press "C" to make it readable assembly. Note that the first few hundred bytes are the header and isn't code to begin with (the absolute first opcode is tho, it's the jump to the rest of the code).
     
  5. DimondEdge
    OP

    Newcomer DimondEdge Newbie

    Joined:
    Nov 28, 2006
    Messages:
    6
    Country:
    Well... I get a few MOVs now, but still mostly DBC.
    Anything else to try?

    EDIT: Could I be choosing the wrong entry point? How do I figure out the correct one?
     
  6. bunsy

    Newcomer bunsy Advanced Member

    Joined:
    Nov 23, 2005
    Messages:
    88
    Country:
    Sweden
    You should be mapping up the loaded rom to begin at 0x8000000 as that is what the gba reads the cart from. Depending on the rom chosen you should be seeing something similar to this.

    The very first opcode is a jump below the header which then sets up some stuff about the gba itself (where the stack pointer is, cpu mode, blabla, this portion is provided by nintendo), and then finally jumps into the game specific code that in this case starts at 0x8017B54 (and +1 to let the cpu know to switch into thumb mode - switching cpu modes in IDA is done with alt-g and entering 1 for thumb or 0 for arm).

    Piece of cake, really [​IMG]
     
  7. DimondEdge
    OP

    Newcomer DimondEdge Newbie

    Joined:
    Nov 28, 2006
    Messages:
    6
    Country:
    It goes to more dc's! Do you have a vid/step-by-step tutorial of how to do it?

    Thanks!
     

Share This Page