
angr学习笔记(8)(文件内容符号化)
发布日期:2021-05-07 12:09:01
浏览次数:18
分类:原创文章
本文共 1550 字,大约阅读时间需要 5 分钟。
angr系列
文章目录
伪代码分析
起始地址我们需要在初始化文件之前(因为这里并没有符号化文件名),输入password
之后,
这里选在ignore_me
之后,把栈变量清理之后地址处。即0x080488D6
在这里我们需要符号化文本的内容(我个人感觉并非整个文本文件),如下,文本文件名是OJKSQYDP.txt
,文件大小是file_size=0x40
,紧接着进行文件文本符号化,和之前的符号化有些不一样:password=init_state.solver.BVS("password",file_size*8),sim_file=angr.storage.SimFile(filename,content=password,size=file_size)
filename='OJKSQYDP.txt' file_size=0x40 password=init_state.solver.BVS("password",file_size*8) sim_file=angr.storage.SimFile(filename,content=password,size=file_size)
然后进行相应的 插入操作:
init_state.fs.insert(filename,sim_file)
最后进行文本内容的求解:
password_bytes=found_state.solver.eval(password,cast_to=bytes)
脚本
import sysimport angrdef main(argv): bin_path=argv[1] p=angr.Project(bin_path) start_addr=0x080488D6 init_state=p.factory.blank_state(addr=start_addr) filename='OJKSQYDP.txt' file_size=0x40 password=init_state.solver.BVS("password",file_size*8) sim_file=angr.storage.SimFile(filename,content=password,size=file_size) init_state.fs.insert(filename,sim_file) sm=p.factory.simgr(init_state) def is_good(state): return b'Good Job.' in state.posix.dumps(1) def is_bad(state): return b'Try again.' in state.posix.dumps(1)dd sm.explore(find=is_good,avoid=is_bad) if sm.found: found_state=sm.found[0] password_bytes=found_state.solver.eval(password,cast_to=bytes) print("Solution:{}".format(password_bytes.decode('utf-8'))) else: raise Exception("Solution not found")if __name__=='__main__': main(sys.argv)
AZOMMMZM
验证:
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月27日 20时28分02秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【ACM】HDU 5640 King‘s Cake
2019-03-04
java集合框架
2019-03-04
面向对象的三大特征
2019-03-04
SpringCloud和SprinBoot之间的关系
2019-03-04
奇怪的小东西
2019-03-04
剑指offer打卡Day14:数组中只出现一次的数字
2019-03-04
使用VSCode配合keil来编写Cortex-M程序
2019-03-04
电磁兼容的PCB设计(二)
2019-03-04
i.mx rt系列遇害笔记-----systick被gpio害了
2019-03-04
零输入响应与零状态响应响应
2019-03-04
工资核算
2019-03-04
【keras】利用LSTM做简单的时间序列预测
2019-03-04
绘图杂记【7】echarts / python 雷达图
2019-03-04
Python之GUI编程 实现界面化的词云图生成器.exe
2019-03-04
PySpider 框架基本使用(存入MYSQL)
2019-03-04
绘图杂记【19】Echarts 可视化图
2019-03-04
数据分析:杜邦分析法
2019-03-04
教程七:Centos7.7安装redis教程
2019-03-04
maven打包可执行文件jar
2019-03-04
springboot 图片大小压缩
2019-03-04