![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
angr
九层台
这个作者很懒,什么都没留下…
展开
-
angr学习[5]--代码整理(总结)
0x01探索模板import angrimport claripyimport sysdef main(argv): path_to_binary = "15_angr_arbitrary_read" project = angr.Project(path_to_binary) # You can either use a blank state or an entry ...原创 2020-01-04 12:51:39 · 1222 阅读 · 0 评论 -
angr使用[4]--用angr测试漏洞是否可用
0x15测试流程设初始状态: 设置hook函数,声明要获取输入的变量设置成功失败状态: 检查运行到某一地址时内存数据的值,可以用copied_state = state.copy() 探测之后添加限制条件来检查最终结果是否符合要求解析成功数据:对声明的变量解析得到输入,解析得到格式化输入,添加限制条件解析出来最终的值#检测程序漏洞,并且检测这个漏洞能否被利用import angr...原创 2020-01-04 10:18:33 · 857 阅读 · 0 评论 -
angr使用[3]--使用技巧
0x08对探索结果添加限制#跳过一些函数来求解import angrimport claripyimport sysimport binasciidef main(argv): path_to_binary = "08_angr_constraints" project = angr.Project(path_to_binary) start_address = 0x...原创 2020-01-04 09:25:51 · 1404 阅读 · 0 评论 -
angr[2]--使用操作
这里将会写angr模拟bss段,模拟堆,模拟文件,结合上一篇中写的模拟寄存器,模拟内存组成一个完整体系补充:格式化是angr的弱点,需要尽量避开0x01模拟bass段import angrimport claripyimport sysimport binasciidef main(argv): path_to_binary = "./05_angr_symbolic_memo...原创 2019-12-31 19:48:33 · 834 阅读 · 0 评论 -
angr尝试
中文简介添加链接描述但是官方github上的pdf文档介绍的更详细。测试了一下中文简介的内容大概就这些,只是测试加上个人理解,不一定正确不喜勿喷#coding=utf-8import angrb=angr.Project("./level2")print (hex(b.entry)) #程序的载入地址print hex(b.loader.min_addr), hex(b.loa...原创 2018-12-16 21:27:42 · 661 阅读 · 0 评论 -
angr使用2
angr就是一个工具提供了对一个程序某一段代码的测试功能,在ctf中一般其实就是用来爆破。之前一个示例演示了基本的运行,接下来呢看一下如果程序不从头开始,设置运行环境。上面是个base64解密,下面是另一个加密,前面的没必要测试,看后面的。看汇编代码原始数据的赋值是R0决定的(也就是用R0来传参的)#coding=utf-8import angrimport claripyi...原创 2018-12-17 12:25:45 · 968 阅读 · 0 评论 -
angr学习[1]简单加载程序分析,设置寄存器
0x01简介之前学了一些但是后来没有跟进,慢慢忘了,最近找到一个比较好的学习github项目,系统地重新学一下angr是一种模糊执行工具,不是太清楚怎么做的但是比直接爆破要好很多就对了。并且angr提供了一个强大的功能,可以加载分析人以平台下的二进制文件。原github项目地址https://github.com/jakespringer/angr_ctf下面的代码会给出两部分1.官...原创 2019-06-28 22:16:16 · 1309 阅读 · 0 评论