Exploiting the buffer overflow takes patience, knowledge, skill, and imagination. I can not teach you patience, and I can can not clear your mind. I will however, give you the tools and concepts required to build your own exploits for buffer overflow bugs in the Windows 95, 98 and NT operating systems.
Before reading this document, you should be familiar with the following:
The following tools are suggested to do anything useful:
- Intel x86 Assembly, preferably Pentium
- General Windows System Architechture (you should know what the PE means in the PE-Executable)
- Know what a URL is.
- Have a working knowledge of C
After reading all of this, and gathering all of your tools, you may be thoroughly unprepared to read the following material. But hopefully you will understand what is so hard for so many to grasp. First, lets start with the very basics of what we are trying to understand. These are the fundamentals of buffer overflow.
- A good hex editor/assembler/disassembler, such as HIEW
- A realtime debugger, such as SoftICE
- A few tools that come with Visual C++, DUMPBIN specifically.