TABLE OF CONTENTS

1.Basics of Memory Structure

2.Intro to ASM Concepts

3.Basics of Shellcode

4.Stack Overflow


First of all to create an exploit from a executable file we need to analyze it

We can analyze any file using two methods

- Static Analysis
- Dynamic Analysis

STATIC ANALYSIS

Static program analysis is the analysis of computer software that is performed without actually executing programs

Static Analysis is nothing but analysing static data from a file

Information which can be obtained from Static Analysis are,

- Metadata
- Header Tags
- Function Names
- String Values
- etc..

Commonly used tools for Static Analysis in Linux are,

- strings
- readelf
- objdump
- file

DYNAMIC ANALYSIS

Dynamic program analysis is the analysis of computer software that is performed by executing programs on a real or virtual processor

So to analyze the behaviour of the executable file in memeory and environment, we need Debuggers to monitor the file

Commonly used Debuggers are,

- GDB
- GDB-PEDA
- IDA Pro
- Immunity Debugger
- OllyDbg
- Hopper