使用Angr分析固件文件

问题描述

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

解决方法

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

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

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

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

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


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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...