识别打包压缩或加密算法

逆向工程 静态分析 动态分析 可执行 加密 包装工
2021-06-12 00:43:49

我确实有一个可执行的打包文件。

我想分别检测压缩加密算法的动态和静态方式;当然没有签名基本方式。

如何检测用于动态和静态打包 exe 文件的压缩或加密算法?(动态检测方式和静态检测方式不带签名基方式当然是分开的)。我不要任何工具。我想要纸的方法。

2个回答

我尝试了一些基于数据熵检测特定压缩/加密流的启发式 方法最重要的是,它们“有点”奏效,但在实践中没有定论。例如,通过这种方式很容易区分 deflate 压缩流和 LZMA 压缩流,但很难区分 LZMA 和 AES 之间的区别。

我发现识别原始压缩流的最佳方法是蛮力方法(例如,尝试将其解压缩为 deflate,然后尝试 LZMA 等)。它确实有效,但速度很慢,特别是对于 LZMA 流,其中有多个压缩选项可以测试文件/数据中的每个偏移量。

您可以获取压缩数据的一部分,然后再次压缩它。如果比率很高,则这些数据已被压缩/加密。