【问题标题】:what is UPX's best compression method [closed]UPX 的最佳压缩方法是什么 [关闭]
【发布时间】:2012-01-20 06:17:57
【问题描述】:

我最近一直在尝试不同的 EXE 打包程序。我试用了 ASPack、UPX、mPress 等。在试用了六种打包程序时,我发现大多数打包的 EXE 会触发错误的病毒签名。甚至UPX也不例外。不过,我的选择是UPX。任何人都可以,请建议我 UPX 中可用的最佳压缩/打包方法是什么?

我对 UPX 很满意 --lzma myEXE.eXE 不过,很想听听你们的意见。 我对 UPX --ultra --brute myEXE.EXE 感到不自在,因为它需要花费数小时才能做到这一点。

【问题讨论】:

  • --ultra--brute 是最好的,你已经知道了,也许你应该把问题改为“alternatives to --all-filters”或类似的东西......
  • 那么为什么要提到恶意软件扫描程序的误报呢?这和你的问题有关系吗?
  • 没有。我只是提到像 ASpack 这样的包装器让一些 AV 以这种方式思考。不知道为什么会这样。

标签: c# windows delphi


【解决方案1】:

UPX用的比较多,版本差别不大。

最新的--lzma设置效果非常好,--ultra --brute确实不值得花时间。最好是压缩率提高 1%...您应该更好地对内部位图进行二次采样或重构代码。

但是,尤其是对于 Delphi 应用程序,我不再使用 UPX。你谈到杀毒软件误报,这是个大问题。例如,听起来好像某些“廉价”防病毒软件引入了非常简单(且错误)的启发式模式,例如“UPX+Delphi=潜在恶意软件”或“Delphi+size

如果您尝试将此类可执行文件提交给http://virustotal.com,您会发现大约 8% 的反病毒引擎会做出这样的错误猜测。

因此,我看到我的一些网站被标记为“恶意软件 URI”。我看到一些客户抱怨我的交付物感染了他们的计算机。不值得。

为了减小可执行文件的大小,因此我比较依赖:

【讨论】:

  • +1 非常好的答案,我实际上反对压缩可执行文件,老实说,现在如果必要的话,即使是 20MB 的可执行文件也不是问题......
  • 您还可以通过 7Zip 文件或 LZMA 压缩的安装程序交付您的 EXE,这样可以轻松地将大小减小到可比较的水平。
  • 我觉得多林的话比答案更重要。首先问自己为什么我要压缩位于 2TB 硬盘上的 1MB exe,然后仅部分加载到 4GB 内存中?
  • @MarcovandeVoort 你是对的,值得一提的是,UPX 将解压缩然后将整个可执行文件存储在 RAM 中,而没有 UPX,它将被 4 KB 块映射,仅在需要时 - 这是使用“部分加载”时所指的内容。某些地方的某些 UPX 将使用更多 RAM,尤其是在库上(普通 .dll 是共享的,而 UPXed .dll 在调用它们的可执行文件之间不共享)。所以 UPX 绝对不是 21 世纪的工具。
  • 感谢大家的宝贵cmets。
猜你喜欢
  • 2018-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
相关资源
最近更新 更多