Reverse Engineering Stack Exchange is a question and answer site for researchers and developers who explore the principles of a system through analysis of its structure, function, and operation. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am searching for security vulnerabilities in the firmware of this router, its architecture is mips. I have successfully unpacked the file system. I would like to disassemble the http daemon, located at /usr/sbin/httpd. How can I disassemble this program and run it in spim?

share|improve this question

You can give a try to radare2. It has a pretty complete support for MIPS, and provides a lot functionalities to help during the reversing process.

share|improve this answer
Can you please tell me how? I'm new to reversing. – caffinatedmonkey Apr 8 '14 at 19:39
I have been attempting to use radare2 for MIPS, and it was pretty dodgy (not analysing MIPSEL code, etc.) until I submitted several patches, so use a recent github version – 6EQUJ5 Jun 4 '14 at 5:42

Are you sure that you need spim ?

I'd suggest to use qemu instead of spim for emulation, radare2 for disassembly as @jvoisin mentioned and

retargetable decompiler for decompilation if you really need it.

share|improve this answer

I would like to second the suggestion of QEMU.

Craig has a post describing how to debug a MIPS binary running in QEMU using IDA:

(you can also use GDB or another debugger speaking the GDB protocol)

share|improve this answer
All of these are such good answers I don't know which one to accept! Thank you all for helping me out :D – caffinatedmonkey Apr 9 '14 at 13:50
That's the best answer because it contains link to tutorial. – w s Apr 9 '14 at 14:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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