Countermeasures and bypasses for Windows
Windows operating systems are known for having a lot more bugs and exploitable code than many other operating systems. However, as Microsoft has advanced their operating systems, they have also made tremendous advancements in the protection capabilities.
The latest operating system has a combination of memory countermeasures, such as Address Space Layout Randomization (ASLR) and Data Execution Prevention (DEP). More importantly, these protection capabilities are turned on by default. In addition to operating system-based protections, you have protections that are added during the development of an application, for example, stack cookies being used when developing applications with Visual Studio. These too are sometimes enforced during compilation, making them, in essence, a default addition to the program.
The rebasing of dynamic link libraries is also found within Windows. Rebasing works when an application loads multiple modules and...