how2angr

2019年5月8日 0 条评论 52 次阅读 0 人点赞

    angr是一个强大平台无关的二进制分析框架,我个人学习angr的初心其实是为了对抗低强度的控制流平坦化混淆,后来学着学着发现符号执行非常值得深入研究一下,故有了这一系列文章。

    这些文章中的例子都是angr-doc官方github仓库里的example,我主要是解析官方解题脚本并尽可能给出说明。除非例题特别简单,要懂这些脚本首先就要会用常规思路解出那些例题,所以比较难的题我也会放常规解,可能部分常规解我还没从我的GitHub搬运过来,所以链接可能是GitHub的。

安装angr

sudo apt-get install python-dev libffi-dev build-essential virtualenvwrapper
sudo pip install angr && sudo pip3 install angr

angr实例

最简单的入门例子


当程序接受命令行参数输入时如何用angr求解


当解题思路是求解某个变量的值时如何用angr完成


题目是一个MIPS的debug trace日志,用angr的装载器的blob后端来模拟执行


用angr这种符号执行工具同样可以爆破


当程序比较复杂或者angr执行异常慢怎么办


绕过程序中的anti-debug或者anti-run


遇到arm架构的ELF程序如何求解


angr只实现了简单的C函数,那么遇到C++怎么办呢


使用文件作为输入的求解题也不少


利用一个简单的二进制炸弹学习angr如何hook函数


使用angr直接调用文件内部函数


  • ...

fanda

这个人太懒什么东西都没留下

文章评论(0)