首页
社区
课程
招聘
[原创]angr简单使用和解android等ctf简单题
发表于: 2020-6-1 14:46 11485

[原创]angr简单使用和解android等ctf简单题

2020-6-1 14:46
11485

CLE是angr加载二进制文件的组建,在加载二进制文件的时候会分析病读取binary的信息

angr用VEX IR将指令转化为中间语言IR,分析IR并且模拟

angr的求解引擎叫Claripy (z3的封装)

SimulatorManager是angr模拟执行的控制中心,提供了.run , .explore, .step 等不同类型的执行选项

SimulateState是angr的最小分析单元,对应每个step都有一个state

图片描述
图片描述

图片描述

图片描述

Java层 checkFirst 判断code

1、长度16
2、字符是1-8的数字
图片描述

Native层
checkfirst要求注册码以12345678开头
checkAgain要求注册码为12345678数字的某种排列

图片描述

check_first
图片描述
check_again
图片描述

x86版本参考:https://www.jianshu.com/p/508febd24921

相关资料参考:
微笑老弟的Angr基础笔记 https://bbs.pediy.com/thread-251278.htm
angr官方examples https://github.com/angr/angr-doc/tree/master/examples

 
 
 
 
 
 

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 6
支持
分享
最新回复 (6)
雪    币: 977
活跃值: (435)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2

mark  最近也在学习angr 

请问 楼主看过这篇文章吗 https://security.tencent.com/index.php/blog/msg/112

对下面这段代码有啥心得吗  我看过deflat 脚本后 这段代码没看懂 所以过来请教

def statement_inspect(state):
    global modify_value
    expressions = state.scratch.irsb.statements[state.inspect.statement].expressions
    if len(expressions) != 0 and isinstance(expressions[0], pyvex.expr.ITE):
        state.scratch.temps[expressions[0].cond.tmp] = modify_value
        state.inspect._breakpoints['statement'] = []


2020-6-1 14:58
0
雪    币: 10944
活跃值: (7329)
能力值: ( LV12,RANK:219 )
在线值:
发帖
回帖
粉丝
3
上海刘一刀 mark  最近也在学习angr 请问 楼主看过这篇文章吗 https://security.tencent.com/index.php/blog ...
还木有 一起研究研究
2020-6-1 21:35
0
雪    币: 3358
活跃值: (3383)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
您好,想请问一下在`if simgr.found:`之后的逻辑该怎么理解,因为我目前理解的是在explore之后就是已经模拟执行之后,而found存放的是符合约束的结果,为什么您在这一部分还能添加新的约束呀
2020-7-1 17:13
0
雪    币: 10944
活跃值: (7329)
能力值: ( LV12,RANK:219 )
在线值:
发帖
回帖
粉丝
5
安和桥南 您好,想请问一下在`if simgr.found:`之后的逻辑该怎么理解,因为我目前理解的是在explore之后就是已经模拟执行之后,而found存放的是符合约束的结果,为什么您在这一部分还能添加新的 ...
constraint可以在found之后添加的 相当于继续缩小范围 
2020-7-1 17:22
0
雪    币: 271
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
上海刘一刀 mark  最近也在学习angr 请问 楼主看过这篇文章吗 https://security.tencent.com/index.php/blog ...
inspect : Angr 的断点能力,ITE : An if-then-else expression 目的还是将2个分支都走到
2021-12-10 17:12
0
雪    币: 977
活跃值: (435)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
martinkro inspect : Angr 的断点能力,ITE : An if-then-else expression 目的还是将2个分支都走到
感谢
2022-2-1 19:48
0
游客
登录 | 注册 方可回帖
返回
//