Angr研究笔记(1),angr,学习

发表时间:2021-05-11

angr系列

00_angr_find

01_angr_avoid

02_angr_find_condition

03_angr_symbolic_registers

04_angr_symbolic_stack

05_angr_symbolic_memory

06_angr_symbolic_dynamic_memory

07_angr_symbolic_file

08_angr_constraints

09_angr_hooks

10_angr_simprocedures

13_angr_static_binary

环境安装(Windows10)

这里我用的是 python3

  1. pip install pyvex
    在这里插入图片描述
  2. pip install unicorn

在这里插入图片描述

  1. pip install simuvex
    在这里插入图片描述
  2. pip install angr
    在这里插入图片描述

练习1

在这里插入图片描述

import angr

导入angr

 p=angr.Project("01_angr_avoid")

加载二进制程序

init_state=p.factory.entry_state()

接着创建一个状态,默认就是程序的入口地址,也可以指定一个地址作为入口地址

sm=p.factory.simulation_manager(init_state)

创建一个模拟器用来模拟程序执行。

在这里插入图片描述
在这里插入图片描述

sm.explore(find=0x080485E0,avoid=0x080485F2)

使用explore执行模拟器,find和avoid用来作为约束条件
在这里插入图片描述

有一个found,导出

found_state=sm.found[0]

然后dump相应的标准输入:

found_state.posix.dumps(0)

在这里插入图片描述

b'HUJOZMYS'

dump相应的标准输出:

found_state.posix.dumps(1)

在这里插入图片描述

b'Enter the password: '

验证:

在这里插入图片描述

全部代码

import angr
p=angr.Project("01_angr_avoid")
init_state=p.factory.entry_state()
sm=p.factory.simulation_manager(init_state)
sm.explore(find=0x080485E0,avoid=0x080485F2)
found_state=sm.found[0]
found_state.posix.dumps(0)
found_state.posix.dumps(1)

命令参考: http://www.manongjc.com/article/68188.html
在这里插入图片描述

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free