首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式检测UPX

以编程方式检测UPX
EN

Stack Overflow用户
提问于 2011-01-03 21:51:46
回答 2查看 1.7K关注 0票数 2

我正在尝试弄清楚如何检测二进制文件是否已被UPX压缩。我正在使用一个简单的CRC来检测我的应用程序是否以任何方式被更改,如果CRC在大小上由于打包程序而失败,我想检测为OK。

现在我开始使用UPX。

那么,二进制文件上有什么标记吗?是否有任何特定的JMP或其他说明需要我搜索?

这将主要在Windows中进行测试,但将来我可能也会将其添加到Linux中。

感谢任何帮助(和代码)。

添加:

我发现在我检查的10个二进制文件中

AddressOfEntryPoint

Import Directory RVA

Resouce Directory RVA

指向UPX或具有由UPX设置的偏移量。有关于这个的信息吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-04 00:35:35

您可以尝试检查可执行文件的节名。我相信,UPX会把它们改成UPX0,UPX1,UPX2。

票数 0
EN

Stack Overflow用户

发布于 2011-01-03 22:08:59

UPX Homepage下载upx源码,打开src/p_w32pe.cpp文件,你要找的函数是;

代码语言:javascript
复制
int PackW32Pe::canUnpack()

此功能用于检查文件是否用win32 upx压缩。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4584981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档