
Introduction to Reverse Engineering Software - r11t
http://www.acm.uiuc.edu/sigmil/RevEng/
======
daeken
If this interests you and you want to go forward, I'd personally suggest the
book Reversing by Eldad Eilam over any other resource. However, I don't think
books are the right way to go about it. I'd strongly recommend writing some
simple C apps and compiling them to assembly (gcc -S) and just reading it
back. You'll quickly learn your way around your ISA of choice (x86 for most of
you, I'd imagine) and see how code compiles down. Once you get your feet wet,
have a friend write up some code and compile it for you to decompile by hand.

This was how I learned RCE and I really can't recommend it highly enough. It's
a bit steep at first, but you'll quickly get your bearings and be able to do
real work.

~~~
jawn
Seconding this.

Just doing a few reversing projects really helped fill gaps in my knowledge of
fundamental computing. Debugging, assembly, and low level memory usage are
core skills needed for reversing, that for me were not easy to practice doing
other types of programming.

