Jump to content

Alphanumeric shellcode: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
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 suggested 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, F. Monrose and G. MacManus |title=English shellcode |date=November 2009 |accessdate=2010-01-10}}</ref>.
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

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.

References

  1. ^ SkyLined. "List of x86 Alphanumeric opcodes". Skypher.com.
  2. ^ SkyLined. "List of x64 alphanumeric opcodes". Skypher.com.
  3. ^ 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)