upx
v1.0.6
Published
Node.js cross-platform wrapper for UPX - the Ultimate Packer for eXecutables
Downloads
223
Maintainers
Readme
upx
Node cross-platform wrapper for UPX
Install
$ npm install --save upx
Usage
const UPX = require('upx')(opts) // see options below
UPX('Hello.exe')
.output('Compressed.exe')
.start().then(function(stats){
/* stats:
{ cmd: 'compress',
name: 'Compressed.exe',
fileSize: { before: '1859072', after: '408064' },
ratio: '21.95%',
format: 'win32/pe',
affected: 1 }
*/
}).catch(function (err) {
// ...
})
Methods
upx(<path>)
: path is the absolute path to the file to compress/decompress.
.output(<output>)
: path to the output file.
.start()
: Start the compress/decompress process.
Options
The options below can be true or false.
| Option | Description |
|--------|-------------|
| faster
| compress faster |
| better
| compress better |
| best
| compress best (can be slow for big files) |
| decompress
| decompress |
| list
| list compressed files |
| force
| force compression of suspicious files |
| brute
| try all available compression methods & filters (slow) |
| ultraBrute
| try even more compression variants (very slow) |
| overlayCopy
| copy any extra data attached to the file (default) |
| overlayStrip
| strip any extra data attached to the file (dangerous) |
| overlaySkip
| don't compress a file with an overlay |
| 8086
| make compressed sys work on any 8086 (for dos) |
| noReloc
| put no relocations in to the exe header (for dos) |
| 8bit
| uses 8 bit size compression (default: 32 bit) |
| 8mibRam
| 8 megabyte memory limit (default 2MiB) |
Debug
set the env DEBUG: DEBUG=upx node myScript.js
Author
Rocco Musolino (@roccomuso)
License
MIT