I have disassembled a MIPS library in the online Retargetable Disassembler, but I don't really understand the code I got (I'm new to reverse engineering). Would it be possible for me to either recompile the code so I can call it, or use the library directly to call the code?

I assume the latter would only be possible if I'm running on MIPS. How else could I proceed with reverse engineering this code?

2 Answers 2


You will have to learn MIPS assembly, and some information about the processor and the registers it uses (for example, opcodes are 3-operand, and r0 is always zero).

If you want to add dynamic analysis to your efforts at static disassembly, you'll need the corresponding environment. For example, if your binary is a piece of old SGI IRIX software, a Linux MIPS system won't help you much, since calling conventions, file formats etc. are different. However, this doesn't neccesarily mean you need a MIPS processor, there are various emulators out there for MIPS devices.

Especially in the case of MIPS under Linux, many routers use MIPS processors, and there are several of them that allow you to telnet or ssh in. So, in addition to running an emulator, you could try getting one of those devices, copying your binary there, and running it, possibly under the control of a debugger like gdb or IDA Pro (you need the professional version, the free version and the entry-level version don't support MIPS).

  • I see, thank you. This is actually a binary from a router, so I can use the same router to do it, which makes sense. Thank you! Jun 8, 2015 at 12:46

Reverse-engineering a binary only code is done through tools (disassemblers, debuggers, decompilers...) and through a certain amount of knowledge of the assembly langage that you are looking at.

The only way to reverse-engineer a piece of binary code is to go through it and try to understand it. If you have no prior knowledge of MIPS assembler, then get some. If you know nothing about disassemblers, debbugers and decompilers, learn some about it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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