3 ms·
Feel like I should mention: For people running a UNIX os with objdump, take a program written in C or C++, compile it with gdb's -g flag, then do: objdump -S
by yan 17y ago
Feel like I should mention: For people running a UNIX os with objdump, take a program written in C or C++, compile it with gdb's -g flag, then do:
objdump -S your_program
This will disassemble it and interleave your disassembly with original source code. It's a great way to see what your high-level C gets compiled to, a great way to see how compilers work and a great way to scratch a low-level itch.
- daeken 17y agoThis was how I built my early reverse-engineering skills. I started off compiling my own C to x86 assembly and seeing what it mapped to, then I had some friends write little crypto routines in C and compile them, throwing the binaries over to me to hand-decompile. Can't recommend this enough. I also have to recommend the book Reversing by Eldad Eilam if you're interested in low-level hacking from a reversing perspective.
- jacquesm 17y agoThere is another old series by Leventhal about learning assembler, he basically wrote the same book for many different processors. And the x86 series reference manuals from Intel, if that's the CPU you're working with (a fair assumption).
- dkersten 17y agoI second the Intel reference manuals - they've been extremely useful on multiple occasions and have been great at helping me understand the x86 processors better.