-
Notifications
You must be signed in to change notification settings - Fork 1
/
START_HERE.html
29 lines (19 loc) · 5.24 KB
/
START_HERE.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE html>
<html>
<head>
<title>Preface</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<article id="post-387" class="post-387 page type-page status-publish hentry odd"><header class="page-header"><h1 class="page-title">Update [2022]</h1></header><div class="page-content">
<p>Hi again! This course about <em>Exploit Development</em> was written in 2015 and was at http://expdev-kiuhnm.rhcloud.com, hosted on <em>Red Hat OpenShift</em> using the <em>Free plan</em>. Unfortunately, OpenShift made some changes and I wasn't maintaining the website anymore so it went down.</p>
<p>It seems now many people relies on the <a href="https://archive.org"><em>Wayback Machine</em></a> to still read my course, but this is not ideal as the pages are half-broken. For instance, the snippets of code are not copyable anymore. There were also a few zip files that are now unavailable.</p>
<p>Since I keep receiving emails asking me for the missing files, I've finally decided to host a copy of my course directly on <em>GitHub</em>. Fixing the pages was a very tedious and frustrating process as I had to edit lots of stuff by hand. I should've written a script but I thought it wasn't worth it... I was wrong!</p>
<p><em><strong>IMPORTANT:</strong> While I'm not updating the contents and answering technical questions about it anymore, please let me know if there are typographical issues with the new version of the course.</em>
</p>
</div></article>
<h2>→ <a href="toc.html" style="text-decoration: underline">Table Of Contents</a></h2>
<hr style="margin: 20px 0px"/>
<article id="post-387" class="post-387 page type-page status-publish hentry odd"><header class="page-header"><h1 class="page-title">Preface [2015]</h1></header><div class="page-content"><p>Hi and welcome to this website! I know people don’t like to read prefaces, so I’ll make it short and right to the point.</p><p>This is the preface to a course about <em>Modern Windows Exploit Development</em>. I chose Windows because I’m very familiar with it and also because it’s very popular. In particular, I chose Windows 7 SP1 64-bit. Enough with Windows XP: it’s time to move on!</p><p>There are a few full-fledged courses about Exploit Development but they’re all very expensive. If you can’t afford such courses, you can scour the Internet for papers, articles and some videos. Unfortunately, the information is scattered all around the web and most resources are definitely not for beginners. If you always wanted to learn Exploit Development but either you couldn’t afford it or you had a hard time with it, you’ve come to the right place!</p><p>This is an introductory course but please don’t expect it to be child’s play. Exploit Development is hard and no one can change this fact, no matter how good he/she is at explaining things. I’ll try very hard to be as clear as possible. If there’s something you don’t understand or if you think I made a mistake, you can leave a brief comment or create a thread in the forum for a longer discussion. I must admit that I’m not an expert. I did a lot of research to write this course and I also learned a lot by writing it. The fact that I’m an old-time reverse engineer helped a lot, though.</p><p>In this course I won’t just present facts, but I’ll show you how to deduce them by yourself. I’ll try to motivate everything we do. I’ll never tell you to do something without giving you a technical reason for it. In the last part of the course we’ll attack Internet Explorer 10 and 11. My main objective is not just to show you how to attack Internet Explorer, but to show you how a complex attack is first researched and then carried out. Instead of presenting you with facts about Internet Explorer, we’re going to reverse engineer part of Internet Explorer and learn by ourselves how objects are laid out in memory and how we can exploit what we’ve learned. This thoroughness requires that you understand every single step of the process or you’ll get lost in the details.</p><p>As you’ve probably realized by now, English is not my first language (I’m Italian). This means that reading this course has advantages (learning Exploit Development) and disadvantages (unlearning some of your English). Do you still want to read it? Choose wisely <img src="https://web.archive.org/web/20161127184516im_/http://expdev-kiuhnm.rhcloud.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em; display: none;"><noscript><img src="https://web.archive.org/web/20161127184516im_/http://expdev-kiuhnm.rhcloud.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;"/></noscript></p><p>To benefit from this course you need to know and be comfortable with X86 assembly. This is not negotiable! I didn’t even try to include an assembly primer in this course because you can certainly learn it on your own. Internet is full of resources for learning assembly. Also, this course is very hands-on so you should follow along and replicate what I do. I suggest that you create at least two virtual machines with Windows 7 SP1 64-bit: one with Internet Explorer 10 and the other with Internet Explorer 11.</p><p>I hope you enjoy the ride!</p></div></article>
</body>
</html>