gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > reverse engineering

#32984 - BobJones - Wed Dec 29, 2004 10:19 pm

In order to boost the reverse engineering of code (especially the multiboot / wifi one), I decided to code a loader for the Interactive Disassembler (www.datarescue.com) to load NDS files.
It is based on DarkFader's great work on the NDS file format.

You can grab an early but working betaversion on www.backtrace.de/nds

cheers

#32989 - scknight - Wed Dec 29, 2004 10:53 pm

BobJones wrote:
In order to boost the reverse engineering of code (especially the multiboot / wifi one), I decided to code a loader for the Interactive Disassembler (www.datarescue.com) to load NDS files.
It is based on DarkFader's great work on the NDS file format.

You can grab an early but working betaversion on www.backtrace.de/nds

cheers


This is great. Keep up the good work and keep us updated if you release any updated versions.

#33000 - BobJones - Thu Dec 30, 2004 12:34 am

The loader has just been published on www.backtrace.de

www.backtrace.de now features a great paypal "donate" button *cough* ;-)

Have fun, I'm looking forward to some reverse engineering results :-)

Cheers

#33097 - BobJones - Thu Dec 30, 2004 7:27 pm

I'm progressing a lot on this.. just created signatures:

http://www.backtrace.de/nds/funcsig.png
and
http://www.backtrace.de/nds/funcsig2.png

Cheers

#33117 - BobJones - Thu Dec 30, 2004 10:44 pm

Finally, the signature files for recognising library functions are available.

www.backtrace.de

Cheers

#33473 - BobJones - Mon Jan 03, 2005 11:46 pm

update:

the previous links don't work anymore,
please use http://www.backtrace.de to get the loader and signature files.

have fun!

Dennis AKA BobJones

#33474 - mike260 - Tue Jan 04, 2005 12:36 am

Are many people working on the Metroid executables? If so, would you be interested in comparing notes?

#33476 - zoo99 - Tue Jan 04, 2005 1:55 am

I don't think I'll be working on it :-)

PRODUCT INFORMATION
Product Type Quantity Price
IDA Pro Standard Edition 439 USD
IDA Pro Additional Standard License 329 USD
IDA Pro Advanced Edition 875 USD
IDA Pro Additional Advanced License 655 USD
IDA Pro Upgrade from standard to advanced 436 USD
IDA Pro Standard Upgrade 249 USD
IDA Pro Advanced Upgrade 499 USD

Shipping Download (!!! requires explicit approval !!!) 0 USD
Shipping Standard Priority Registered Mail 12 USD
Shipping TNT Courrier 40 USD

#33486 - BobJones - Tue Jan 04, 2005 11:12 am

zoo99: there is a freeware version of IDA 4.3
The loader comes with sourcecode.

mike: I wouldn't mind if you would post your findings here, dunno about
the legality tho.

#33487 - Vince - Tue Jan 04, 2005 11:15 am

Hi Bob,

AFAIK, the freeware version only supports x86 arches. I wanted to use IDA Pro to disassemble CIZ, the F2A Ultra firmware. Unfortunately, because of that limitation, I wasn't able to do so...

Vince
_________________
Reclaim control of your F2A/F2AU with if2a !!

#33489 - BobJones - Tue Jan 04, 2005 11:48 am

Oh, alright. Didn't know. Then there are only three more possibilities to
reverse engineer the code. I would choose between the two legal ones.

either buy IDA or get a different disassembler + DarkFader's ndstool.
If I were you, I would tend to buying IDA, it's worth the money!

#33490 - MumblyJoe - Tue Jan 04, 2005 12:09 pm

BobJones wrote:
www.backtrace.de now features a great paypal "donate" button *cough* ;-)


Hahahaha, I think I will donate my money to the survivors and families of the tsunami but good idea all the same :P
_________________
www.hungrydeveloper.com
Version 2.0 now up - guaranteed at least 100% more pleasing!

#33491 - BobJones - Tue Jan 04, 2005 12:20 pm

great, feel free to do so.

#33498 - SmileyDude - Tue Jan 04, 2005 3:37 pm

Which version is recommended? I see a number of prices on the order form, but most of them look like upgrades. It appears that there are two main versions: Standard and Advanced.

Also, has anyone used the Linux console version in the latest version? I would like to know how well it works because Linux is my primary OS at home.
_________________
dennis

#33500 - BobJones - Tue Jan 04, 2005 4:07 pm

smileydude: depends on your available budget. if possible, i would buy
the standard version with a year of free updates (if it is still being offered).

the linux version is okay if you liked the old console interface of the windows and/or dos version. personally i got too much used to the GUI version.
so will you, after having tried it i guess. however, the latest beta version
I tested, ran fine under Wine ;-)

regards,

BJ ;-)

#33520 - caitsith2 - Tue Jan 04, 2005 9:35 pm

I believe standard is all you need, if your reverse engineering ARM code. If you need to reverse engineer MIPS code, then you need the advanced version.

#33558 - BobJones - Wed Jan 05, 2005 10:23 am

Yes, I've got the standard version and it has support for ARM processors.

#71061 - xbman - Fri Feb 10, 2006 4:16 am

So I decided to start looking at NDS roms. I used IDA for XBOX binaries (to disassemble to make trainers) and wanted to start poking around NDS roms.

With the XBOX there was a single flirt - so it was pretty straightforward - but I downloaded the NDS flirt and it has the following files:

libsnd.sig
libsndsp.sig
libsndsp_thumb.sig
libsnd_thumb.sig
ndsarm7.sig
ndsarm7_thumb.sig
ndsarm9.sig
ndsarm9_thumb.sig

So my question is what flirt file should I use on an NDS rom? I am new to NDS so I am not familar with the rom layout / structure other then that it is ARM. I believe 7 and 9 are GBA and NDS but not 100% certain nor do I know what the other flirt files are for. So if anyone can help and let me know which flirt file I should use on an NDS rom it would be appreciated.

For now I guess I will just try them all individually and see what results I get.