goupx

修复 x86_64 上的 golang 编译二进制文件,使其可以使用 UPX 打包。「Fix golang compiled binaries on x86_64 so that they can be packed with UPX」

Github stars Tracking Chart

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.

Main metrics

Overview
Name With Ownerpwaller/goupx
Primary LanguageGo
Program languageGo (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2012-09-08 14:17:20
Pushed At2017-01-20 16:35:14
Last Commit At2016-06-23 09:30:17
Release Count1
Last Release Namev1.0 (Posted on )
First Release Namev1.0 (Posted on )
用户参与
Stargazers Count342
Watchers Count18
Fork Count22
Commits Count31
Has Issues Enabled
Issues Count9
Issue Open Count0
Pull Requests Count11
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private