2017-06-23 52 views
0

我想问问有人能解释我为什么我无法执行Windows工具的UPX压缩版本:Windows 7或Windows 10上的“calc.exe”(32位版本) ,但在Windows XP上,打包的“calc.exe”运行没有问题(在所有转换中,我没有收到任何错误消息,并且包装率从50%左右)。Pack.exe with UPX

自从Windows 7使用更多依赖关系(如.NET)或者受到这些操作系统的更复杂安全机制保护的原因,是否有这种情况?

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

最好的问候,

安德烈亚斯

回答

1

我猜问题是关系到MUI resourceMUI satellite DLLs

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

如果移动/重命名的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 
+0

感谢您对MUI依赖的信息,我不知道这一点。 我试过'--compress-resources = 0'选项没有成功,然后与其他禁用'win32/pe'-选项一起玩了一下。但即使我将所有选项设置为零,结果也是一样的(当我这样做时,它使我感到困惑,压缩比和文件大小总是与以前完全相同,因此看起来这些选项的去激活没有效果)。 – Andreas

+0

它在Windows 8上工作得很好。 – Anders

+0

谢谢,现在它也适用于Windows 7上的我。 – Andreas