【问题标题】:Pack calc.exe with UPX使用 UPX 打包 calc.exe
【发布时间】:2017-11-27 12:26:07
【问题描述】:

我想问是否有人可以解释一下,为什么我不能在 Windows 7 或 Windows 10 上执行 UPX 打包版本的 Windows 工具:“calc.exe”(32 位版本),但在 Windows XP 上打包的“calc.exe”运行没有问题(在所有转换中,我都没有收到错误消息,并且打包率从 50% 左右开始)。

这是因为自 Windows 7 以来的 calc-versions 使用更多的依赖项,例如 .NET,还是受到这些操作系统更复杂的安全机制的某种保护?

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

最好的问候,

安德烈亚斯

【问题讨论】:

    标签: windows compression executable upx


    【解决方案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
    

    【讨论】:

    • 感谢您提供有关 MUI 依赖项的信息,我不知道这一点。我尝试了--compress-resources=0 选项但没有成功,然后在另一个禁用win32/pe-options 的情况下玩了一点。但是即使我将所有选项都设置为零,结果也是一样的(当我这样做时,它让我感到困惑,压缩比和文件大小总是与以前完全相同,所以看起来这些选项的停用没有效果)。
    • 我想我忘了添加 en-US 目录。在 Windows 10 上似乎没有 calc.exe.mui,否则就太容易了;)
    • 在 Windows 10 上,Calc.exe 可能只是丑陋的现代计算器的简单启动器。
    猜你喜欢
    • 2020-01-21
    • 2016-05-19
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2021-04-20
    • 2018-05-23
    • 1970-01-01
    相关资源
    最近更新 更多