是否有任何工具或脚本可以识别可执行文件中的压缩算法?

逆向工程 工具 视窗 x86
2021-06-21 02:25:51

我知道有一些工具可以识别代码中的常见密码和哈希算法,但是是否有用于常见压缩算法(例如 gzip、deflate 等)的类似脚本/工具/插件?主要针对 x86 和 Windows,但也欢迎其他平台的答案。

请注意,我正在寻找code,而不是data

3个回答

signsrch 作者 Luigi Auriemma 具有常用压缩库(zlib 等)中使用的表的签名。

在此处输入图片说明

它已被移植为ImmDbgIDA 的插件

他还有一个offzip工具,可以尝试识别和解压缩二进制文件中的压缩流。

我是binwalk 的忠实粉丝,但遗憾的是它在 Windows 上对您没有多大帮助。

如果二进制文件使用 deflate 或 gzip(使用 deflate),则代码通常作为库链接,因此很容易根据字符串工件进行检测。这当然可以自动化,例如,您可以简单地搜索相应的字符串。根据源代码手动匹配函数是一个有点乏味的过程,但它通常工作得很好。对于不太常见的算法或当您没有任何工件时,该过程要困难得多。在这种情况下,您必须通过其语义来识别算法(字长、常量、数据结构之类的东西可能会提供提示)。

除了已经提到的 FLIRT 签名:如果您使用带有 Hex-Rays 插件的 IDA Pro 并且您很幸运,您可以在http://crowd.re上找到算法有一些可用的压缩算法注释。除此之外,我不知道有任何工具或脚本可以满足您的需求。