Alphanumeric shellcode: Difference between revisions
ref fix |
No edit summary |
||
Line 6: | Line 6: | ||
In general, in [[computing]], an '''alphanumeric code''' is a series of letters and numbers (hence the name) which are written in a form that can be processed by a computer. |
In general, in [[computing]], an '''alphanumeric code''' is a series of letters and numbers (hence the name) which are written in a form that can be processed by a computer. |
||
Specifically, in computer underground terminology, alphanumeric code is [[machine code]] that is written so that it assembles into entirely alphanumeric [[ASCII]] characters such as 0-9, A-Z and a-z<ref>{{cite web |last=SkyLined |url=http://skypher.com/wiki/index.php?title=X86_alphanumeric_opcodes |title=List of x86 Alphanumeric opcodes |publisher=Skypher.com}}</ref><ref>{{cite web |last=SkyLined |url=http://skypher.com/wiki/index.php?title=X64_alphanumeric_opcodes |title=List of x64 alphanumeric opcodes |publisher=Skypher.com}}</ref>. This type of encoding was created by [[Hacker (computer security)|hackers]] to be able to pass machine code through a filter that removes any non-alphanumeric character and still be able to have it perform its intended tasks successfully. (Because normal machine code frequently uses non-alphanumeric characters, these would get removed by such a filter and the code would not be able to pass the filter without being modified to the point where it no longer works). A slightly less restrictive form of this type of encoding is printable code, which uses all [[Control character|printable]] characters such as 0-9, A-Z, a-z, !@#%^&*() etc... It has been |
Specifically, in computer underground terminology, alphanumeric code is [[machine code]] that is written so that it assembles into entirely alphanumeric [[ASCII]] characters such as 0-9, A-Z and a-z<ref>{{cite web |last=SkyLined |url=http://skypher.com/wiki/index.php?title=X86_alphanumeric_opcodes |title=List of x86 Alphanumeric opcodes |publisher=Skypher.com}}</ref><ref>{{cite web |last=SkyLined |url=http://skypher.com/wiki/index.php?title=X64_alphanumeric_opcodes |title=List of x64 alphanumeric opcodes |publisher=Skypher.com}}</ref>. This type of encoding was created by [[Hacker (computer security)|hackers]] to be able to pass machine code through a filter that removes any non-alphanumeric character and still be able to have it perform its intended tasks successfully. (Because normal machine code frequently uses non-alphanumeric characters, these would get removed by such a filter and the code would not be able to pass the filter without being modified to the point where it no longer works). A slightly less restrictive form of this type of encoding is printable code, which uses all [[Control character|printable]] characters such as 0-9, A-Z, a-z, !@#%^&*() etc... It has been shown that it is possible to create shellcode that looks like normal text in English<ref>{{cite web|url=http://www.cs.jhu.edu/~sam/ccs243-mason.pdf |last=J. Mason, S. Small, F. Monrose and G. MacManus |title=English shellcode |date=November 2009 |accessdate=2010-01-10}}</ref>. |
||
Writing alphanumeric or printable codes require good understanding [[instruction set architecture]] of the machine on which the code is to be executed. |
Writing alphanumeric or printable codes require good understanding [[instruction set architecture]] of the machine on which the code is to be executed. |
Revision as of 20:44, 1 March 2010
This article possibly contains original research. (February 2008) |
- You may be looking for Character encoding.
- or SYNOP and CLIMAT (alphanumeric codes used for meteorological and climatological data transmission)
In general, in computing, an alphanumeric code is a series of letters and numbers (hence the name) which are written in a form that can be processed by a computer.
Specifically, in computer underground terminology, alphanumeric code is machine code that is written so that it assembles into entirely alphanumeric ASCII characters such as 0-9, A-Z and a-z[1][2]. This type of encoding was created by hackers to be able to pass machine code through a filter that removes any non-alphanumeric character and still be able to have it perform its intended tasks successfully. (Because normal machine code frequently uses non-alphanumeric characters, these would get removed by such a filter and the code would not be able to pass the filter without being modified to the point where it no longer works). A slightly less restrictive form of this type of encoding is printable code, which uses all printable characters such as 0-9, A-Z, a-z, !@#%^&*() etc... It has been shown that it is possible to create shellcode that looks like normal text in English[3].
Writing alphanumeric or printable codes require good understanding instruction set architecture of the machine on which the code is to be executed.
See also
- EICAR test file - a test pattern used to test the installation of the anti virus software, which is written in printable code.
External links
- Writing ia32 alphanumeric shellcodes, an article on how to write alphanumeric shellcode.
- Building IA32 'Unicode-Proof' shellcodes, an article on how to write Unicode proof shellcode.
- Writing IA32 restricted instruction set shellcodes, an article on how to write code that is very limited in the number of characters it can use (such as alphanumeric code).
- ALPHA3, an alphanumeric shellcode encoder: Utility to encode normal machine code into alphanumeric (upper-case or mixed-case) ASCII or Unicode text.
- Shellcoding for Linux and Windows — Printable Shellcode: Explanation and tutorial
References
- ^ SkyLined. "List of x86 Alphanumeric opcodes". Skypher.com.
- ^ SkyLined. "List of x64 alphanumeric opcodes". Skypher.com.
- ^ J. Mason, S. Small, F. Monrose and G. MacManus (November 2009). "English shellcode" (PDF). Retrieved 2010-01-10.
{{cite web}}
: CS1 maint: multiple names: authors list (link)