All Projects → roccomuso → upx

roccomuso / upx

Licence: other
Node.js cross-platform wrapper for UPX - the ultimate packer for eXecutables.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to upx

Python Blosc
A Python wrapper for the extremely fast Blosc compression library
Stars: ✭ 264 (+877.78%)
Mutual labels:  wrapper, compression
pakkero
Pakkero is a binary packer written in Go made for fun and educational purpose. Its main goal is to take in input a program file (elf binary, script, even appimage) and compress it, protect it from tampering and intrusion.
Stars: ✭ 143 (+429.63%)
Mutual labels:  compression, upx
Nexe
🎉 create a single executable out of your node.js apps
Stars: ✭ 10,565 (+39029.63%)
Mutual labels:  binaries, executable
Zstd Rs
A rust binding for the zstd compression library.
Stars: ✭ 159 (+488.89%)
Mutual labels:  wrapper, compression
google-workspace
A unofficial high level Python API wrapper for some of the productivity based Google APIs, that is focused on simplicity.
Stars: ✭ 74 (+174.07%)
Mutual labels:  wrapper
v-cupertino
A Vue 3 Wrapper for Cupertino Pane Library
Stars: ✭ 17 (-37.04%)
Mutual labels:  wrapper
FinMesh
A python package that brings together financial and economic data.
Stars: ✭ 20 (-25.93%)
Mutual labels:  wrapper
XUSG
XUSG, XU's supreme graphics lib, is a handy wrapper currently for DirectX 12. It can be a good reference for designing your own DX12 wrapper APIs.
Stars: ✭ 57 (+111.11%)
Mutual labels:  wrapper
ELFDump
ELFDump is a C parser for ELF64 object files.
Stars: ✭ 15 (-44.44%)
Mutual labels:  executable
Invoke-Terraform
A cross-platform PowerShell module for downloading and invoking terraform binaries.
Stars: ✭ 14 (-48.15%)
Mutual labels:  wrapper
srcset.sh
A command line script that generates multiple responsive versions of an image at width breakpoints -- 320,480,640,768,960,1024,1280,1440 pixels wide -- that match common Mobile and widescreen desktop/laptop viewports using Imagemagick's convert utility and outputs the needed <img/> tag
Stars: ✭ 20 (-25.93%)
Mutual labels:  compression
harfbuzz rs
A fully safe Rust wrapper for the harfbuzz text shaping library.
Stars: ✭ 26 (-3.7%)
Mutual labels:  wrapper
clp
Compressed Log Processor (CLP) is a free tool capable of compressing text logs and searching the compressed logs without decompression.
Stars: ✭ 49 (+81.48%)
Mutual labels:  compression
PSEventViewer
PSEventViewer (Get-Events) is really useful PowerShell wrapper around Get-WinEvent. One of the features you may be interested in is a simple way of getting “hidden” events data
Stars: ✭ 74 (+174.07%)
Mutual labels:  wrapper
uplot-wrappers
React and Vue.js wrappers for uPlot that allow you to work with charts declaratively inside your favorite framework
Stars: ✭ 37 (+37.04%)
Mutual labels:  wrapper
raisin
A simple lightweight set of implementations and bindings for compression algorithms written in Go.
Stars: ✭ 17 (-37.04%)
Mutual labels:  compression
HerePy
A library that provides a Python interface to the HERE APIs.
Stars: ✭ 73 (+170.37%)
Mutual labels:  wrapper
JFileSync3
File Syncing with encryption and compression (partly) compatible with encfs / boxcryptor (classic) volumes for local folders and WebDAV backends. Based on JFileSync - hence the name.
Stars: ✭ 20 (-25.93%)
Mutual labels:  compression
Perfect-Zip
Perfect Zip compression utility.
Stars: ✭ 20 (-25.93%)
Mutual labels:  compression
moGL
Modern OpenGL wrapper, thin C++14 header-only layer on top of the OpenGL 4.5+ API
Stars: ✭ 27 (+0%)
Mutual labels:  wrapper

upx

NPM Version Dependency Status JavaScript Style Guide

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].