Chapter 14. Advanced Reverse Engineering

In this chapter, you will learn about the tools and techniques used for runtime detection of potentially exploitable conditions in software.

  • Why should we try to break software?

  • Review of the software development process

  • Tools for instrumenting software

  • Debuggers

  • Code coverage tools

  • Profiling tools

  • Data flow analysis tools

  • Memory monitoring tools

  • What is “fuzzing”?

  • Basic fuzzing tools and techniques

  • A simple URL fuzzer

  • Fuzzing unknown protocols

  • SPIKE

  • SPIKE Proxy

  • Sharefuzz

In the previous chapter we took a look at the basics of reverse engineering source code and binary files. Conducting reverse engineering with full access to the way in which an application works (regardless of whether this is a source view or binary ...

Get Gray Hat Hacking, Second Edition, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.