Apple - "This UPX compressed binary contains an invalid Mach-O header and cannot be loaded."
Revised answer:
For hiding traces, pirates zeroed the UPX markers out of the compressed binary, so it's not possible for macOS Sierra to decompress the binary.
(Try with: hexdump -C YourApp.app/Contents/MacOS/YourApp | grep -C 1 UPX
and see, that there is most likely no output.)
However, jreiser from UPX accepted the challenge and addressed this issue with implementing a more robust search for compressed code.
v3.92 will be possible to make these apps running again when decompressing the executables with upx -d YourApp.app/Contents/MacOS/YourApp
.
3.92-BETA revision 3 works in Sierra and works for i386!
https://www.dropbox.com/s/x765t3i42p7hr8b/upx.out?dl=0 now works for I386, too.
jreiser on github.com/upx #4 comment
3.92 supports compressing binaries in Sierra such that they can be run in Sierra, and also supports decompressing binaries in Sierra. 3.92-BETA also supports decompressing binaries which have been modified after compression such as with a code signature.
Decompressing the app's binary using the -d
option works great!
$ chmod +x upx.out
$ ./upx.out -d /tmp/Run.app/Contents/MacOS/Run
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2016
UPX 3.92-BETA Markus Oberhumer, Laszlo Molnar & John Reiser Sep 22nd 2016
File size Ratio Format Name
-------------------- ------ ----------- -----------
57444 <- 24576 42.78% macho/i386 Run
Unpacked 1 file.
brew install upx
upx -d YourApp.app/Contents/MacOS/YourApp
worked for me.