使用Angr分析固件文件

问题描述

我想使用 angr 分析IoT固件文件。我已经阅读了 angr 的文档,但是找不到用于分析固件文件解决方案。那么 angr 如何生成固件的CFG文件?或如何使用 angr 作为符号执行来分析固件文件

解决方法

据我所知,angr不会进行固件文件分析:它是一个二进制文件(如二进制可执行文件一样),而固件映像不是 可执行二进制文件。

那么angr如何生成固件的CFG文件?

根据我上面的评论,没有固件的CFG之类的东西: CFG是可执行文件中控制流的表示。

我如何使用[具有]符号执行功能来分析固件文件?

再次,同样的困惑: 符号执行是一种动态分析可执行文件的技术。 一个人无法“执行”固件映像,甚至象征性地更少!


您可能想要做的是使用firmware-mod-kit之类的方法来提取您拥有的固件映像的内容;在这些内容中,找到要测试的可执行文件,然后使用angr进行所有需要的分析!