UPX license violation


New Member
Hello, it appears your software (checked ver. 7.16-4650) is violating the UPX license by modifying the PE section names and removing the copyright string "UPX!" at 000003e0.

See https://github.com/upx/upx/blob/master/LICENSE#L68-L103. (markup in quote added by me)

The stub which is imbedded in each UPX compressed program is part
of UPX and UCL, and contains code that is under our copyright.
terms of the GNU General Public License still apply as compressing
a program is a special form of linking with our stub.

Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special
permission to freely use and distribute all UPX compressed programs
(including commercial ones), subject to the following restrictions:

1. You must compress your program with a completely unmodified UPX
; either with our precompiled version, or (at your option)
with a self compiled version of the unmodified UPX sources as
distributed by us.
2. This also implies that the UPX stub must be completely unmodfied, i.e.
the stub imbedded in your compressed program must be byte-identical
to the stub that is produced by the official unmodified UPX version.
3. The decompressor and any other code from the stub must exclusively get
used by the unmodified UPX stub for decompressing your program at
program startup. No portion of the stub may get read, copied,
called or otherwise get used or accessed by your program.


- You can use a modified UPX version or modified UPX stub only for
programs that are compatible with the GNU General Public License.

- We grant you special permission to freely use and distribute all UPX
compressed programs. But any modification of the UPX stub (such as,
but not limited to, removing our copyright string or making your
program non-decompressible) will immediately revoke your right to
use and distribute a UPX compressed program.


HWiNFO Author
Staff member
Thanks for letting me know, I wasn't aware of this requirement.
This will be resolved immediately and available from the next build.


New Member
I'm wondering why do you even use run-time packer such as UPX these days.

It is probably not for protection purposes as UPX can be easily unpacked (modified headers are not real stopper for someone with basic unpacking experience).
Also run-time packed executables take more memory as whole image has to be unpacked at once, instead of reading only parts that are required during execution.

Maybe it is just to save some space on disk. But this also doesn't seem to be relevant anymore (in days where disks with hundreds of gigabytes are common).