Sometimes I can't start debugging binary due to being unsupported format for example in IDA. For example I found a Nintendo 3DS game and want to debug it. But the problem is that I can't start debugging because IDA doesn't know this binary format.

What should I do to tell the debugger the structure of the binary (what text structure, etc)?

  • You can always load your target manually as a Binary file, and define the Processor type and Loading address. But, if you are familiar with the specific file format, then writing a Loader is probably the best option. There is a full chapter on Loader Modules in the (nostarch.com/idapro2.htm](IDA Pro Book) – Maurice Jul 1 '15 at 20:38

There are two separate issue:

  1. in order for IDA to show the disassembly for some new format it must have a loader plugin which understands the file format and provides IDA with information on how the data and code should be loaded from it. And there must be a processor module which will know how to dissemble the data loaded by loader plugin. Otherwise IDA will load the file as binary and that's it.
  2. even if you have loader + processor module, this doesn't mean you can debug it. You need a debugger module which will know how to load the initial binary file into device and the through some communication will run it step by step in the remote debugger.

Nintendo 3DS is ARM11, so there's a processor module in IDA. As for loader you'll have to search if somebody made one or implement it yourself. As for 3DS debugger plugin for IDA, I highly doubt it exists.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.