如何通过将二进制文件反转为源代码来模糊它?

问题描述

我正在研究如何使用 AFL 对二进制文件进行模糊测试。我知道可以使用 qemu 模式来实现它。但是,使用 qemu 模式确实会影响模糊测试的性能。

因此,我想知道如果我使用 IDA PRO 将目标二进制文件反转为 C 代码,然后使用 afl-gcc 编译 C 代码会怎样? 这个想法会奏效吗?否则会导致失真。

解决方法

可以使用 McSema 等工具对没有源代码的二进制文件进行模糊测试。它将二进制文件提升为 LLVM 位码并允许您fuzz it with libFuzzer。但是正如 user3804799 已经说过的,反编译并不完美。

,

根据我的经验,代码应该是可执行的,才能很好地运行模糊测试。如果它是源代码并且您将无法执行它,则模糊测试将无法按预期工作。 但是,当您拥有源代码时,您可以执行静态代码分析。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...