Skip to content
pwallerPublic

About

Fix golang compiled binaries on x86_64 so that they can be packed with UPX

Resources

Stars

340 stars

Watchers

15 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goupx - Fix golang Linux ELF executables to work with upx

Update: 2016/03/10

As far as I (pwaller) know, goupx is no longer necessary for Linux binaries since it was fixed in go1.6.

About

Installation: go get github.com/pwaller/goupx

(or if you don't want to do it with root, GOPATH=${HOME}/.local go get github.com/pwaller/goupx will install it to ${HOME}/.local/bin/goupx).

Usage: goupx [filename]

Fixes the PT_LOAD offset of [filename] and then runs upx.

This is only necessary for Linux ELF executables (not Mach-O executables or windows binaries, for example).

Based on code found on the upx bugtracker.

MIT licensed.

Fixes the following issue

$ upx [linux ELF go binary]
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2011
UPX 3.08        Markus Oberhumer, Laszlo Molnar & John Reiser   Dec 12th 2011

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
upx: goupx: EOFException: premature end of file                                

Packed 1 file: 0 ok, 1 error.

Typical compression ratio

Resulting filesizes are typically 25% of the original go executable. Your mileage my vary.

About

Fix golang compiled binaries on x86_64 so that they can be packed with UPX

Resources

Stars

340 stars

Watchers

15 watching

Forks

Releases

Packages

Used by

Contributors

Languages