gopacker

command module
v0.0.0-...-f33ba26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2019 License: MIT Imports: 11 Imported by: 0

README

gopacker

A UPX-like packer to shrink executables.

Quick Start

go get github.com/nirhaas/gopacker
gopacker <executable_to_pack>

How does it work

Packing
  • Copy gopacker executable itself to output file.
  • Compress and stream (append) to output file.
  • Append compressed size.
  • Append magic string.

Output file is now a functional executable.

Unpacking

When running the packed executable:

  • Checks the last few bytes to see if magic string is there.
  • Reading compressed size.
  • Reading compressed data.
  • Uncompressing to memory.
  • Overriding the packed executable.
  • syscall exec to run the unpacked executable.

Possible TODO:

  • Better compression.
  • Encryption.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL