用 UPX 打包 calc.exe

Pack calc.exe with UPX

我想问问是否有人可以解释一下,为什么我无法执行 Windows 工具的 UPX 打包版本:"calc.exe"(32 位版本)在 Windows 7 或 Windows 10,但在 Windows XP 上,打包的 "calc.exe" 是 运行 没有问题(在所有转换中我没有收到错误消息和良好的打包率大约 50%) .

这是因为 Windows 7 之后的 calc 版本使用了更多依赖项,例如 .NET,或者以某种方式受到这些操作系统更复杂的安全机制的保护?

我使用的是最新的 UPX 版本 3.94。

此致,

安德烈亚斯

我猜这个问题与 MUI resource and MUI satellite DLLs.

有关

尝试使用 --compress-resources=0 UPX 选项。如果你想压缩一些其他资源,你可以尝试 --keep-resource=

如果您 move/rename Calc.exe 您还必须确保对 .mui 文件执行相同的操作:

md myCompressedCalc
cd myCompressedCalc
copy %windir%\System32\calc.exe .\
md .\en-us
copy %windir%\System32\en-US\calc.exe.mui .\en-us\
upx --compress-resources=0 .\calc.exe