Skip to content

Commit a93d312

Browse files
author
SkyLined
committed
Update README.md
1 parent 6221c92 commit a93d312

File tree

1 file changed

+66
-1
lines changed

1 file changed

+66
-1
lines changed

README.md

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,66 @@
1-
<p>Small nul-free shellcode that execute calc.exe. Runs on x86 and x64 versions of Windows 5.0-6.3 (2000, XP, 2003, 2008, 7, 8, 8.1), all service packs. </p><p>Sizes (build 306) <table class="wikitable"><tr><td style="border: 1px solid #ccc; padding: 5px;"> platform </td><td style="border: 1px solid #ccc; padding: 5px;"> size </td><td style="border: 1px solid #ccc; padding: 5px;"> stack align </td><td style="border: 1px solid #ccc; padding: 5px;"> function wrapper </td><td style="border: 1px solid #ccc; padding: 5px;"> func+save regs </td><td style="border: 1px solid #ccc; padding: 5px;"> func+stack </td><td style="border: 1px solid #ccc; padding: 5px;"> func+stack+regs </td></tr> <tr><td style="border: 1px solid #ccc; padding: 5px;"> x86 </td><td style="border: 1px solid #ccc; padding: 5px;"> 72 </td><td style="border: 1px solid #ccc; padding: 5px;"> 75 </td><td style="border: 1px solid #ccc; padding: 5px;"> 77 </td><td style="border: 1px solid #ccc; padding: 5px;"> 77 </td><td style="border: 1px solid #ccc; padding: 5px;"> 84 </td><td style="border: 1px solid #ccc; padding: 5px;"> 84 </td></tr> <tr><td style="border: 1px solid #ccc; padding: 5px;"> x64 </td><td style="border: 1px solid #ccc; padding: 5px;"> 85 </td><td style="border: 1px solid #ccc; padding: 5px;"> 90 </td><td style="border: 1px solid #ccc; padding: 5px;"> 98 </td><td style="border: 1px solid #ccc; padding: 5px;"> 105 </td><td style="border: 1px solid #ccc; padding: 5px;"> 106 </td><td style="border: 1px solid #ccc; padding: 5px;"> 112 </td></tr> <tr><td style="border: 1px solid #ccc; padding: 5px;"> x86+x64 </td><td style="border: 1px solid #ccc; padding: 5px;"> 113 </td><td style="border: 1px solid #ccc; padding: 5px;"> 118 </td><td style="border: 1px solid #ccc; padding: 5px;"> 179 </td><td style="border: 1px solid #ccc; padding: 5px;"> 188 </td><td style="border: 1px solid #ccc; padding: 5px;"> 188 </td><td style="border: 1px solid #ccc; padding: 5px;"> 196 </td></tr> </table></p><p>Features: <ul><li>NUL Free </li><li>Windows version and service pack independent. </li><li><a href="http://en.wikipedia.org/wiki/Instruction_set" rel="nofollow">ISA</a> independent: runs on x86 (w32-exec-calc-shellcode) or x64 (w64-exec-calc-shellcode) architecture, or both x86 <i>and</i> x64 architecture (win-exec-calc-shellcode). </li><li>Stack pointer can be aligned if needed (if you are seeing crashes in WinExec, try using the stack aligning version). </li><li>No assumptions are made about the values in registers or on the stack. </li><li>x86: &quot;<a href="http://en.wikipedia.org/wiki/3_GB_barrier" rel="nofollow">/3GB</a>&quot; and <a href="http://en.wikipedia.org/wiki/WoW64" rel="nofollow">WoW64</a> compatible: pointers are not assumed to be smaller than 0x80000000. </li><li><a href="http://en.wikipedia.org/wiki/Data_Execution_Prevention" rel="nofollow">DEP</a>/<a href="http://en.wikipedia.org/wiki/Address_space_layout_randomization" rel="nofollow">ASLR</a> compatible: data is not executed, code is not modified. </li><li>Able to save and restore registers and return for use in PoC code that calls the shellcode as a function using <a href="http://en.wikipedia.org/wiki/X86_calling_conventions" rel="nofollow">cdecl/stdcall/fastcall</a> calling convention. </li></ul></p><p>Credits: <a href="http://skylined.nl/">Skylined</a> and <a href="http://pferrie.host22.com/">Peter Ferrie</a></p>
1+
win-exec-calc-shellcode
2+
-----------------------
3+
Small null-free shellcode that execute calc.exe.
4+
Runs on x86 and x64 versions of Windows 5.0-6.3 (2000, XP, 2003, 2008, 7, 8, 8.1), all service packs.
5+
6+
Sizes (build 306)
7+
-----------------
8+
<table class="wikitable">
9+
<tr>
10+
<td style="border: 1px solid #ccc; padding: 5px;"> platform </td>
11+
<td style="border: 1px solid #ccc; padding: 5px;"> size </td>
12+
<td style="border: 1px solid #ccc; padding: 5px;"> stack align </td>
13+
<td style="border: 1px solid #ccc; padding: 5px;"> function wrapper </td>
14+
<td style="border: 1px solid #ccc; padding: 5px;"> func+save regs </td>
15+
<td style="border: 1px solid #ccc; padding: 5px;"> func+stack </td>
16+
<td style="border: 1px solid #ccc; padding: 5px;"> func+stack+regs </td>
17+
</tr><tr>
18+
<td style="border: 1px solid #ccc; padding: 5px;"> x86 </td>
19+
<td style="border: 1px solid #ccc; padding: 5px;"> 72 </td>
20+
<td style="border: 1px solid #ccc; padding: 5px;"> 75 </td>
21+
<td style="border: 1px solid #ccc; padding: 5px;"> 77 </td>
22+
<td style="border: 1px solid #ccc; padding: 5px;"> 77 </td>
23+
<td style="border: 1px solid #ccc; padding: 5px;"> 84 </td>
24+
<td style="border: 1px solid #ccc; padding: 5px;"> 84 </td>
25+
</tr><tr>
26+
<td style="border: 1px solid #ccc; padding: 5px;"> x64 </td>
27+
<td style="border: 1px solid #ccc; padding: 5px;"> 85 </td>
28+
<td style="border: 1px solid #ccc; padding: 5px;"> 90 </td>
29+
<td style="border: 1px solid #ccc; padding: 5px;"> 98 </td>
30+
<td style="border: 1px solid #ccc; padding: 5px;"> 105 </td>
31+
<td style="border: 1px solid #ccc; padding: 5px;"> 106 </td>
32+
<td style="border: 1px solid #ccc; padding: 5px;"> 112 </td>
33+
</tr><tr>
34+
<td style="border: 1px solid #ccc; padding: 5px;"> x86+x64 </td>
35+
<td style="border: 1px solid #ccc; padding: 5px;"> 113 </td>
36+
<td style="border: 1px solid #ccc; padding: 5px;"> 118 </td>
37+
<td style="border: 1px solid #ccc; padding: 5px;"> 179 </td>
38+
<td style="border: 1px solid #ccc; padding: 5px;"> 188 </td>
39+
<td style="border: 1px solid #ccc; padding: 5px;"> 188 </td>
40+
<td style="border: 1px solid #ccc; padding: 5px;"> 196 </td>
41+
</tr>
42+
</table>
43+
44+
Features
45+
--------
46+
* NUL Free
47+
* Windows version and service pack independent.
48+
* <a href="http://en.wikipedia.org/wiki/Instruction_set">ISA</a> independent:
49+
runs on x86 (w32-exec-calc-shellcode) or x64 (w64-exec-calc-shellcode)
50+
architecture, or both (win-exec-calc-shellcode).
51+
* Stack pointer can be aligned if needed (if you are seeing crashes in
52+
WinExec, try using the stack aligning version).
53+
* No assumptions are made about the values in registers or on the stack.
54+
* x86: <a href="http://en.wikipedia.org/wiki/3_GB_barrier">/3GB</a> and
55+
<a href="http://en.wikipedia.org/wiki/WoW64">WoW64</a>" compatible (pointers
56+
are not assumed to be smaller than 0x80000000).
57+
* <a href="http://en.wikipedia.org/wiki/Data_Execution_Prevention">DEP</a> /
58+
<a href="http://en.wikipedia.org/wiki/Address_space_layout_randomization">ASLR</a>
59+
compatible: data is not executed, code is not modified.
60+
* Able to save and restore registers and return, for use in PoC code that calls
61+
the shellcode as a function (using <a href="http://en.wikipedia.org/wiki/X86_calling_conventions">
62+
cdecl/stdcall/fastcall</a> calling convention.
63+
64+
Credits
65+
-------
66+
<a href="http://skylined.nl/">Skylined</a> and <a href="http://pferrie.host22.com/">Peter Ferrie</a>

0 commit comments

Comments
 (0)