1

I'm interested in vulnerability research and I want to get started in reading the book mentioned in the title.

But the thing is that while I'm fairly confident in Python and PHP, I absolutely have no knowledge in low level programming in any low level languages. I was told that I need to have solid knowledge of assembly and C before even saying 'I'm starting learning reversing today'.

Speaking of that, what knowledge in programming or in computer science do I need before starting learning with the book?

Thanks!

1
  • I think you answered your own question. Go get a book or find some tutorials on C. Then after you are comfortable there, drop down to ASM (stepping through the disassembly of your C apps in a debugger is a good way to start that part).
    – josh poley
    Sep 4 '15 at 18:09
4

The IDA Pro book is all about IDA usage. There are some tips about disassembly in the book, usefull to help progress in reversing but it's absolutely not a book to learn assembly language or reverse engineering.

I think you have to learn almost the basics of assembly language and the basics of the environment in wich you plan to research vulnerabilities. For example if your target is Windows and Intel, Windows SDK and probably C language. Although you have to learn the processor architecture because for example with x86, the processor instruction set is just a little part of what the processor offers to developpers and you have to understand the IA32 or IA64 architecture (memory management, protection, interrupts & exceptions, task management, etc). See the system programming guides there : http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

It will be more productive to read books like "Assembly Language for x86 Processors" to learn assembly language, and books like "Reversing: Secrets of Reverse Engineering" or "Practical Reverse Engineering".

Try also to write some simple assembly language programs to understand instruction set and how program flow control is implemented in assembly language (loops, conditions, etc).

Although it's not about vulnerability research, consider reading "Practical Malware Analysis" book first. It can help you like parts 2 and 3 are very valuable to learn how to analyze and understand a windows binary. Note that chapter 5 is a little IDA Pro book ! This book is very well written.

It's a long but interesting journey !

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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