angr学习【二】

本文介绍了在angr框架中解决题目二的过程,通过claripy模块处理命令行输入,并利用simulation_manager创建模拟器。文章强调了理解程序的输出、输入限制及程序状态的重要性,并提醒在使用angr求解时注意flag的位置,避免无输出结果的情况。最后提到后续将探讨执行时变量的存取。
摘要由CSDN通过智能技术生成

前言

这篇文章是一定要写的,虽然可能还不是很明白。

题目二

题目 https://github.com/angr/angr-doc/tree/master/examples/ais3_crackme
IDA看一下,需要从命令行进行输入。那么就需要使用到claripy这个模块。

claripy.BVS('arg1', n*8) 构造输入参数长度为8bytes
entry_state方法接受一个args参数来控制输入
proj = angr.Project("./ais3_crackme")
args = [proj.filename, claripy.BVS('arg1', 50*8)]
state = proj.factory.entry_state(args=args)

然后创建一个simulation_manager模拟器,执行
在 Angr 寻找路径时,程序的当前状态有多种表示。


                
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值