No-Execute-After-Read: Preventing Code Disclosure in Commodity Software
Just-In-Time Code Reuse: On the Effectiveness of Fine-Grained Address Space Layout Randomization