I saw this video on youtube as regards as reversing IPTV cameras and finding security vulnerabilities: Black Hat 2013 - Exploiting Network Surveillance Cameras Like a Hollywood Hacker
I have a basic knowledge of C, C++ and Python.
I have some other questions related to this field:
- I've seen that the speaker reverses CGI programs, is this the only filetype involved in reversing MIPS?
- if someone who has a lot of experience could give me some advices on what to do, where to start, books to buy and courses I would be very very grateful;
- the assembly code that I get disassembling a MIPS binary has something in common as the one I get when disassembling a x86 program? (I thought that I might learn first x86 assembly and then move on learning MIPS assembly since the former is much more covered on the internet and in textbooks);
- I would like to know if there are ad-hoc crackmes (I can only find some related to x86 and x86_64) for MIPS architecture;
- are routers and other IoT devices such as IPTV cameras and so on based exclusively on the MIPS architecture? Or there are other architectures as well?
- what about obfuscated binaries, of course I don't want to rush and everything but I would like to know more;
- if I decompile a MIPS firmware on my Intel-powered computer and let's say, in the future I buy an AMD-powered computer, the output of the disassembled program will be the same? With output I mean instruction names and so on;
- I'm not trying to be a script kiddie but, from what I know, when talking about disassembling tools play a fundamental role. I've seen that IDA PRO is a good choice, however going to their webpage their price is just too much for a student, but there are other free alternatives such as Radare; the other night I tried to emulate a router's firmware using QEMU but I failed and I gave up; I hate copying and pasting things because you never learn anything and sometimes it doesn't work; are there some tools (other than Radare and Qemu) that may aid in reversing and disassembling MIPS firmware and related documentation?
- last but not least, I'm not trying to be the "hollywood hacker" or be the "bad guy", I'm just trying to expand my knowledge.
I know that these questions might be completely dumb, but everyone has been there. I googled everything I could but there are a lot of things and I always get lost. Just to point out, it's not the first time that I try to do reversing in general but I always get demotivated given how hard it is so I though about asking here and getting some advice.
Thanks for your time and everything!