Anybody know any good Programs/ Apps. to hack NDS games with?

Discussion in 'NDS - ROM Hacking and Translations' started by Lockon Stratos, Dec 31, 2008.

  1. Lockon Stratos
    OP

    Member Lockon Stratos GBAtemp Regular

    Joined:
    Apr 1, 2008
    Messages:
    262
    Location:
    Sylvarant - Tales of Symphonia
    Country:
    United Kingdom
    Hi, does anyone know what's the best programs to use to hack a NDS game. Just the recommended ones will do.

    Thanks. [​IMG]
     


  2. Noitora

    Member Noitora ::

    Joined:
    Aug 9, 2007
    Messages:
    3,768
    Location:
    Athens
    Country:
    Greece
    Umm...A hex editor for starters....
    and better read this tutorial: http://www.romhacking.net/start
     
  3. Lockon Stratos
    OP

    Member Lockon Stratos GBAtemp Regular

    Joined:
    Apr 1, 2008
    Messages:
    262
    Location:
    Sylvarant - Tales of Symphonia
    Country:
    United Kingdom
    Thanks I understand most of it except some bits like -
    1- To figure out the binary representation is of a decimal number, we're going to have
    to devide by 2 until we hit 0, paying particular attention to remainders and
    ignoring any numbers after the decimal place that result from our division


    - What if it's a even number? Which wouldn't have remainders.

    2- What? You don't believe me that 1E is 30
    (even if you do, please play along. It makes this so much more fun)? Lets convert 1E
    to decimal and find out. Converting hexadecimal to decimal is done pretty much the
    same way converting binary to hexadecimal was done.

    1E

    The digit on the far right is said to be in the "0's place" and the digit to the
    left of the 0 is in the "1's place". Just like we did with the binary conversion,
    we're going to be multiplying by a power of some number. What would that number be
    here? In the case of binary (base 2) it was 2. So in the case of hexadecimal (base
    16), I suppose it would be 16, ne?

    E * 16^0

    1 * 16^1

    E is the hexadecimal equivalent of 14. (A=10, B=11, C=12, ...) Keep in mind the
    lessons from your highschool math lessons. Anything to the 0 power is 1. And
    anything to the 1st power is itself. Therefore 16 raised to the 0 power is equal to
    1, and 16 rased to the first power is 16.


    - How did he get the 16 if he just made it up? How would you originally find that out? and is the hexadecimal system thing used to replace double digits? And what if used "D" which is 36? and you need to go over?
     
  4. nicman000

    Newcomer nicman000 Advanced Member

    Joined:
    Sep 27, 2007
    Messages:
    67
    Country:
    Australia
    Short answer is if you don't get it from simple guides don't bother asking stupid questions.

    Alternatively you could learn how to work in hexadecimal.
    Also if I remember correctly there was already a topic on "hacking" "NDS" games today.

    [​IMG]
     
  5. Evilmaster1985

    Member Evilmaster1985 GBAtemp Fan

    Joined:
    Nov 23, 2008
    Messages:
    456
    Location:
    Middle of nowhere
    Country:
    United States
    Hmmm maybe it would be better if I explained in my own way:

    00000001 = 2^0 = 1
    00000010 = 2^1 = 2
    00000100 = 2^2 = 4
    00001000 = 2^3 = 8
    00010000 = 2^4 = 16
    00100000 = 2^5 = 32
    01000000 = 2^6 = 64
    10000000 = 2^7 = 128

    Alright so like you noted before: Anything to the 0 power is 1.
    The formulla you need to calculate from binary to decimal is: 2^ (position -1)
    (Everything between ( )`s has priority as you know)
    (So infact what you do is: Position minus 1 by the power of 2.)

    So lets pick a random number: 4
    4 is in the 3rth position 3 - 1 = 2^2 = 4

    So now lets say you wanted to make the number 5?
    00000001 = 2^0 = 1
    00000100 = 2^2 = 4
    -------------------------+
    00000101 = 2^0 = 1 | 2^2 = 4 | 1 + 4 = 5

    I hope by putting these 2 near eachother you found a way to make 5:
    1 + 4 = 5 so 5 in binary will look like: 00000101

    Now thats only to convert from binary to decimal.
    If you wanted to convert decimal to hex decimal:
    You would need to understand how the system counts.
    I hope by posting the following list of digits you may understand it.
    Code:
    --------------------------------------
    DecimalÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ Hexadecimal
    --------------------------------------
    1ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 01
    2ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 02
    3ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 03
    4ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 04
    5ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 05
    6ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 06
    7ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 07
    8ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 08
    9ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 09
    10ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ0A
    11ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ0B
    12ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ0C
    13ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ0D
    14ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ0E
    15ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ0F
    16ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ10
    17ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ11
    18ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ12
    19ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ13
    20ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ14
    21ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ15
    22ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ16
    23ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ17
    24ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ18
    25ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ19
    26ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ1A
    27ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ1B
    28ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ1C
    29ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ1D
    30ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ1E
    31ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ1F
    32ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ20
    33ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ21
    34ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ22
    35ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ23
    36ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ24
    37ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ25
    38ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ26
    39ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ27
    40ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ28
    41ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ29
    42ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ2A
    43ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ2B
    44ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ2C
    45ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ2D
    46ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ2E
    47ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ2F
    48ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ30
    49ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ31
    50ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ32
    51ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ33
    52ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ34
    53ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ35
    54ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ36
    55ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ37
    56ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ38
    57ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ39
    58ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ3A
    59ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ3B
    60ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ3C
    61ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ3D
    62ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ3E
    63ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ3F
    64ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ40
    65ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ41
    66ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ42
    67ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ43
    68ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ44
    69ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ45
    70ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ46
    71ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ47
    72ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ48
    73ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ49
    74ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ4A
    75ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ4B
    76ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ4C
    77ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ4D
    78ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ4E
    79ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ4F
    80ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ50
    81ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ51
    82ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ52
    83ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ53
    84ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ54
    85ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ55
    86ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ56
    87ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ57
    88ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ58
    89ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ59
    90ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ5A
    91ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ5B
    92ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ5C
    93ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ5D
    94ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ5E
    95ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ5F
    96ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ60
    97ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ61
    98ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ62
    99ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ63
    100ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ 64
    255ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ FF
    9999ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ270F
    65,535ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂFF FF
    99,999,999ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂFF E0 F5 05
    --------------------------------------
    Think that with this info you could figure out your questions [​IMG]

    Greetz, Vistabuser.
     
  6. Lockon Stratos
    OP

    Member Lockon Stratos GBAtemp Regular

    Joined:
    Apr 1, 2008
    Messages:
    262
    Location:
    Sylvarant - Tales of Symphonia
    Country:
    United Kingdom
    Yeah thanks I'll try hacking a random game on my comp later. So is that all you need to know about hackign or is there more?

    Posts merged

    I do understand it It's just that I need to get it clear before I try myself. [​IMG]
     
  7. psycoblaster

    Member psycoblaster Divine

    Joined:
    Jan 26, 2008
    Messages:
    2,132
    Location:
    Seoul.. (in Korea)
    Country:
    Korea, South
    Well I've been using calc.exe in windows XD

    if you want to start hacking for fun, I recommend something easy like gundam 00.
     
  8. Evilmaster1985

    Member Evilmaster1985 GBAtemp Fan

    Joined:
    Nov 23, 2008
    Messages:
    456
    Location:
    Middle of nowhere
    Country:
    United States
    Lal yes you can use calc.
    However its sometimes smart to understand how something works before you put your brain aside and bash calculator buttons [​IMG]

    Greetz, Vistabuser.
     
  9. psycoblaster

    Member psycoblaster Divine

    Joined:
    Jan 26, 2008
    Messages:
    2,132
    Location:
    Seoul.. (in Korea)
    Country:
    Korea, South
    You get used to if you try coding a hex -> dec / dec -> hex on any programming language, because that way, you fully understand how it works. However, when you actually open up a ROM, you don't want to be mentally converting 0x1E69 to decimal values XD
     
  10. Evilmaster1985

    Member Evilmaster1985 GBAtemp Fan

    Joined:
    Nov 23, 2008
    Messages:
    456
    Location:
    Middle of nowhere
    Country:
    United States
    Agree ^^

    Greetz, Vistabuser.
     
  11. Lockon Stratos
    OP

    Member Lockon Stratos GBAtemp Regular

    Joined:
    Apr 1, 2008
    Messages:
    262
    Location:
    Sylvarant - Tales of Symphonia
    Country:
    United Kingdom
    Yeah I'm gonna attempt to patch PS0 but I need to understand the program frist + what does the "^" mean in the E * 16^0 thing?
     
  12. Evilmaster1985

    Member Evilmaster1985 GBAtemp Fan

    Joined:
    Nov 23, 2008
    Messages:
    456
    Location:
    Middle of nowhere
    Country:
    United States
    ^ means: By the power of.......

    Greetz, Vistabuser.
     
  13. Lockon Stratos
    OP

    Member Lockon Stratos GBAtemp Regular

    Joined:
    Apr 1, 2008
    Messages:
    262
    Location:
    Sylvarant - Tales of Symphonia
    Country:
    United Kingdom
    Oh thanks. ^.^
     
  14. psycoblaster

    Member psycoblaster Divine

    Joined:
    Jan 26, 2008
    Messages:
    2,132
    Location:
    Seoul.. (in Korea)
    Country:
    Korea, South
    CODEimport java.util.ArrayList;
    /**
    * Converts Hexadecimals to Decimals.
    *
    * By Psycoblaster
    */
    public class hexdec
    {
    ÂÂÂÂprivate ArrayList table;
    ÂÂÂÂpublic hexdec()
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂtable = new ArrayList();
    ÂÂÂÂÂÂÂÂfor(int i = 0; i
     
  15. Lockon Stratos
    OP

    Member Lockon Stratos GBAtemp Regular

    Joined:
    Apr 1, 2008
    Messages:
    262
    Location:
    Sylvarant - Tales of Symphonia
    Country:
    United Kingdom
     
  16. psycoblaster

    Member psycoblaster Divine

    Joined:
    Jan 26, 2008
    Messages:
    2,132
    Location:
    Seoul.. (in Korea)
    Country:
    Korea, South
    His username is KiC here in gbatemp.
    however, arm ASM is not elementary.
    Try with something easier, like the SNES.
    Or you can try Z80 if you have a TI graphing calc [​IMG]
     
  17. Lockon Stratos
    OP

    Member Lockon Stratos GBAtemp Regular

    Joined:
    Apr 1, 2008
    Messages:
    262
    Location:
    Sylvarant - Tales of Symphonia
    Country:
    United Kingdom
    Thanks again would GBA do as a good substitute instead of SNES for practice?
    Also what are the main things hexadecimals used for?

    So I'm using a Hex Editor called CrystalTile2 and on the left it shows the interpretation of the binary codes. But which part of it the kanji?

    Okay so I've learnt the basics and I've unpacked my .nds file using DSLazy and there're .bin files. Is there any specific apps. to use for .bin files?
     
  18. Ace Gunman

    Former Staff Ace Gunman ~••Lucky҉Shot••~

    Joined:
    Apr 17, 2003
    Messages:
    6,385
    Location:
    Wassamatta U
    Country:
    Canada
    Ameer, stop double/triple posting (posting multiple times in a row). If you have something else to say, edit your previous post. [​IMG]
     
  19. Lockon Stratos
    OP

    Member Lockon Stratos GBAtemp Regular

    Joined:
    Apr 1, 2008
    Messages:
    262
    Location:
    Sylvarant - Tales of Symphonia
    Country:
    United Kingdom
    Okey dokey I just think if u've read it U might not read it again. [​IMG]
     
  20. psycoblaster

    Member psycoblaster Divine

    Joined:
    Jan 26, 2008
    Messages:
    2,132
    Location:
    Seoul.. (in Korea)
    Country:
    Korea, South
    no, gba is also arm
    hexadecimals are ways to represent binary in a more user friendly way.
    would you want to edit stuff like 1000000101011011 or just edit hexadecimals like 815B?
    you don't want to stare at binary editors with only 1's and zeros.
    but what's it actually used for? everything.
    You can't JUST find text by opening up a ROM with a hex editor.
    You need to load a codepage for it. you can load your own, or you can use crystaltile's - crystaltile2 has several inbuilt tables, including s-jis and unicode UTF-8, 16, etc
    Load whichever the game uses, and you have to find the area where the text actually is. NDS ROMS are divided into many files, which can be viewed by clicking the DS icon or just ctrl+n (I think)
    Look for directories like "script" or "text" or "chat"/"dialog" etc, or files with extensions like "mes", "text", "txt", etc
    but I told you before - phantasy star 0 has a custom compression so you won't be able to find the text just by staring at a hex editor.
     

Share This Page