![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Angr
Angr工具的运用
0xwangliang
热爱可抵岁月漫长
展开
-
Angr学习(5)
低级内存接口>>> proj.memory.store(0x4000,proj.solver.BVV(0x12345678,64))>>> proj.memory.load<bound method SimSymbolicMemory.load of <angr.state_plugins.symbolic_memory.SimSymbolicMemory object at 0x7f29b0fbac10>>>>> pro原创 2020-10-21 21:19:05 · 417 阅读 · 0 评论 -
Angr学习(1)
示例文件:defcamp_r100(文件到处都有,就不发了)首先成功安装angr。Angr的架构是由Claripy,am_graph,pyvex,CLE这几个架构构成的。然后就是加载二进制文件p = angr.Project('/home/fivefiveopen/Desktop/angr/r100')把文件载入进去之后就能通过一些指令来查看文件的一些基本信息>>> p.arch //获取文件的架构<Arch AMD64 (LE)>>原创 2020-10-18 23:04:09 · 524 阅读 · 0 评论 -
Angr学习(6)
explore首先介绍下原创 2020-10-22 16:28:52 · 402 阅读 · 0 评论 -
Angr学习(4)
解析器>>> state = p.factory.entry_state()>>> one = state.solver.BVV(1,64)>>> one<BV64 0x1>>>> two = state.solver.BVV(100,64)>>> two<BV64 0x64>>>> three = state.solver.BVV(9,27)//生成位向量&原创 2020-10-20 21:58:30 · 186 阅读 · 1 评论 -
Angr学习(2)
学习Angr的进一步用法Block:块将二进制文件用Project进行装载后,Project对象可以通过Block来查看文件的代码块>>> p.factory.block(p.entry).pp<bound method Block.pp of <Block for 0x400610, 41 bytes>>//Block的起始位置,以及有多少个字节>>> a = p.factory.block(p.entry)>>>原创 2020-10-19 14:42:01 · 294 阅读 · 0 评论 -
Angr学习(3)
CLE模块CLE组件是angr中加载二进制文件的组件,是angr中的加载器。之前了解了下这个模块,现在来深入学习下怎么与loader交互。>>> hex(p.loader.main_object.min_addr)'0x400000'>>> hex(p.loader.main_object.max_addr)//获取最低地址和最高地址'0x601077'>>> p.loader.main_object.segments<Regions原创 2020-10-20 09:09:01 · 309 阅读 · 1 评论