Skip to content

Commit cf42b80

Browse files
committed
improved readme
1 parent 099e597 commit cf42b80

File tree

1 file changed

+38
-19
lines changed

1 file changed

+38
-19
lines changed

README.md

Lines changed: 38 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,41 @@
1-
# ASM
1+
# Linux Shellcode Generator
22

3-
This is a series of experiments in ASM to execute shellcodes with C, I prefer Intel syntax but if you found any code in AT&T code don't worry, only read documentation inside source code
3+
This is a shellcode generator in ASM to fastdevelopment and test it in a C template, I prefer Intel syntax but if you found any AT&T syntaxis in experiments code don't worry, only read documentation inside source code
44

5-
All source codes run on Linux, I will try to test in some many distros
5+
All source codes run on Debian, I will try to test in some many distros.
66

7-
## x86 support
7+
## Table of contents
8+
- [Manual compilation and test](#manual-compilation-and-test)
9+
* [x86 support](#x86-support)
10+
* [Compiling .asm source codes](#compiling-.asm-source-codes)
11+
* [Dissasembly compiled to read hexadecimal code](#dissasembly-compiled-to-read-hexadecimal-code)
12+
* [Compiling .c source codes](#compiling-.c-source-codes)
13+
- [Binary to Shellcode string tool](#binary-to-shellcode-string-tool)
14+
* [shellcode.sh Usage](#shellcode.sh-usage)
15+
- [ASM Fast Development Projects](#asm-fast-development-projects)
16+
* [ASM Fast Development Usage](#asm-fast-development-usage)
17+
* [Creating new ASM Fast Development Projects](#creating-new-asm-fast-development-projects)
18+
* [Compiling ASM Fast Development Projects](#compiling-asm-fast-development-projects)
19+
20+
## Manual compilation and test
21+
22+
If you want to compile and create a trace of all your code use the traditional steps. I know this is hard to remember, use the next snippets.
23+
24+
### x86 support
825

926
**Disclaimer:** This section is under x86 support, all code above is **only** for x86 architectures. In next versions support x64 and x84_64.
1027

11-
### Compiling .asm source codes
28+
#### Compiling .asm source codes
1229

1330
> nasm -f elf sourceCode.asm
1431
1532
> ld -o executableName sourceCode.o
1633
17-
### Dissasembly to read hexadecimal code
34+
#### Dissasembly compiled to read hexadecimal code
1835

1936
> objdump -d executableName
2037
21-
### Compiling .c source codes
38+
#### Compiling .c source codes
2239

2340
Normal purposes
2441

@@ -28,13 +45,13 @@ Testing shellcodes
2845

2946
> gcc cExecutableName.c -o cExecutableName -fno-stack-protector -z execstack -no-pie
3047
31-
## Binary to Shellcode string
48+
## Binary to Shellcode string tool
3249

33-
To easy extracting shellcodes use following script to generate shellcode strings and tests
50+
To easy extracting shellcodes use shellcode.sh script contained in root project folder to generate shellcode strings and test it. You can extract a shellcode and print in console, save in a text file, inject into test project, build to check errors and run injected shellcode. Documentation is exposed below.
3451

35-
### Usage
52+
### shellcode.sh Usage:
3653

37-
Usage: bash shellcode.sh [<options>] [<asm_filename>]
54+
> bash shellcode.sh [<options>] [<asm_filename>]
3855

3956
-e, --extract Extract shellcode from binary and print
4057
-s, --save Save shellcode into a .txt file
@@ -45,13 +62,15 @@ To easy extracting shellcodes use following script to generate shellcode strings
4562
Example:
4663
> bash shellcode.sh -tbr ~/ASM/HelloWorld/Helloworld.asm
4764

48-
## ASM Fast Development Projects (x86)
65+
## ASM Fast Development Projects
4966

50-
For fast development in asm, you could use following tool:
67+
I know that start a new project and contain all generated files is hard, for that reason I developed another tool for fast development in asm, you could create new projects with folder structure and using the [shellcode script](#binary-to-shellcode-string-tool) to compile and test use following tool:
68+
69+
**Disclaimer:** This section is under x86 support, all code above is **only** for x86 architectures. In next versions support x64 and x84_64.
5170

52-
### Usage
71+
### ASM Fast Development Usage
5372

54-
Usage: bash ASMFastDevelopment.sh [<options>] [<folder name>]
73+
> bash ASMFastDevelopment.sh [<options>] [<folder name>]
5574

5675
-h, --help Show helps'
5776
-n, --new Create new project with folder name given
@@ -62,7 +81,7 @@ For fast development in asm, you could use following tool:
6281
> bash ASMFastDevelopment.sh -c HelloWorld
6382

6483

65-
### Creating new ASM Fast Development Projects (x86)
84+
### Creating new ASM Fast Development Projects
6685

6786
> bash ASMFastDevelopment.sh --new HelloWorld
6887
@@ -74,7 +93,7 @@ It generates:
7493
|- HelloWorld/
7594
|- HelloWorld.asm
7695

77-
**Disclaimer**: Do not change the .asm file name!. If you need change it, **you need to change folder name**
96+
**Warning**: Do not change the .asm file name!. If you need change it, **you need to change folder name**
7897

7998
### Compiling ASM Fast Development Projects
8099

@@ -88,6 +107,6 @@ It generates:
88107
|- HelloWorld.o
89108
|- HelloWorld [Executable file]
90109

91-
## Remember
110+
## Small help
92111

93-
![Registers](http://i.imgur.com/ZPYfZty.png)
112+
<div style="width:25%">![Registers](http://i.imgur.com/ZPYfZty.png)</div>

0 commit comments

Comments
 (0)