Summary
In this chapter, we have had a look at QEMU execution modes and explained fuzzing methodologies and fuzzers. We walked through some examples and familiarized ourselves with what will be our platform from now on. This chapter concludes the first introductory part and leads us toward starting the most interesting part of the journey, hunting for bugs and exploiting vulnerabilities.
In the next chapter, things will start to get more convoluted and we will start to understand the difficulties of writing proper testing harnesses and the power of automating bug discoveries.