Opentopia Directory Encyclopedia Tools

Executable compression

Encyclopedia : E : EX : EXE : Executable compression



 

Executable compression is any means of compressing an executable file and combining the compressed data with the decompression code it needs into a single executable. Its principal actual purpose is to deter Reverse engineering, to hide malware (from Antivirus scans) by proprietary methods and/or added encryption.

When executed, this will unpack the original executable code and transfer control to it. The effect is the same as if the original uncompressed executable had been run. A compressed executable requires

A compressed executable is one variety of executable archive, where the compressed data happens to be itself an executable file.

There are tools that will decompress a compressed executable without executing it, such as CUP386 and UNP.

Most packed executables decompress directly into the memory and need no free file system space to start. However, some decompressor stubs are known to write the uncompressed executable in the file system in order to start it.

Executable compression has often been taken to extremes by the demoscene, and some compressors, such as MuCruncher, kkrunchy and 624, have been specifically designed for use in size-restricted demos. An extreme example is [Crinkler], which has been created for 4096 byte intros, and is physically unable to compress much larger executables because of the compression time and memory consumption.

List of packers

For
  1. .netshrink
  2. ASPack
  3. CExe
  4. exe32pack
  5. eXPressor
  6. FSG
  7. MEW - development stopped
  8. MuCruncher
  9. NeoLite
  10. NsPack - .NET
  11. PECompact
  12. PEPack
  13. PELock
  14. PKLite32
  15. PEtite
  16. Shrinker32
  17. Upack - Freeware
  18. UPX - Open source
  19. WWPack
  20. PESpin

For
  1. apack
  2. LZEXE
  3. diet
  4. PKLite
  5. 32LiTE
  6. 624 (small .COMs < 25KiB only)
  7. UPX

For other
  1. [624] - for ELF binaries on Linux/i386
  2. gzexe - uses a shell script stub and gzip and works on most Unix-like systems
  3. [PuCrunch] - for Commodore 64, 16 and VIC 20.
  4. [Exomizer] - for Commodore 64, 16 and VIC 20, etc...
  5. [ByteBoozer PC] - for Commodore 64.
  6. [powerpacker] - for Commodore Amiga
  7. [Titanics cruncher] - for Commodore Amiga
  8. [imploder] - for Commodore Amiga
  9. TNM cruncher - for Commodore Amiga
  10. UPX - also supports Linux/i386 binaries, as well as some more obscure platforms

List of unpackers and identifiers

See also

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.


Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: