angr基本使用
根据官网教程安装非常非常非常麻烦…
照着这篇做安装教程
例1 r100
先试着做一个例题 r100
流程很简单,就是一个玩具
就是要执行到0x400844,不能到0x400855
直接跑脚本,写的时候有几个奇奇怪怪的小问题
import angr 和 from angr import * 不是一回事…
用后者一直报找不到angr
还有就是proj的auto_load_libs,甚至文件名的单引号双引号都能让我这里跑不出结果…也是醉了
例2 ais3-cm
这个程序有一个命令行参数输入
先给出解题代码
其中BVS应该是创建一个bit向量,这里选择50*8个bit,也就是50字符
然后就是注意添加命令行参数的格式了
最后输出时用cast_to=str
可以以ASCII形式输出
safari刷新网站,cmd+r
例3 hash
题目给了源码
1 |
|
简单编译一下,脚本比较好写
1 | import angr |
值得注意的是,最后程序执行到了目标地址,我们需要获得程序的输出
也就是代码中的最后一行
dumps(1)
,应该就是stdout
的意思
最后输出Get your key: c0ffee