符号执行-Angr

本文介绍如何利用Angr进行二进制程序分析,包括Angr的基本概念、安装、实验环境设置以及如何使用Angr进行符号执行。通过一个具体的实验案例,详细讲解了如何分析二进制文件,查找后门密码,以及使用ida辅助分析。实验展示了如何通过Angr创建项目、加载二进制文件、查看内存中的共享库、生成控制流图并进行路径探索。

预备知识

1.关于Angr

Angr是一个利用python开发的二进制程序分析框架,我们可以利用这个工具尝试对一些CTF题目进行符号执行来找到正确的解答,即flag。当然,要注意的是符号执行的路径选择问题到现在依旧是一个很大的问题,换句话说也就是当我们的程序存在循环时,因为符号执行会尽量遍历所有的路径,所以每次循环之后会形成至少两个分支,当循环的次数足够多时,就会造成路径爆炸,整个机器的内存会被耗尽(我们这次分析的程序只有两个分支,不会存在这个问题)。

实验目的

通过该实验了解符号执行的思维和方法,学会使用Angr,进一步掌握IDA的常见用法。

实验环境

服务器:Windows 8
kali IP地址:随机分配
辅助工具:win8装IDA,kali下安装在下文
实验文件请在实验机内下载使用:http://tools.hetianlab.com/tools/T034.zip

实验步骤一

kali上安装angr方法(已装)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
官方建议使用python虚拟环境来安装和使用angr。几个angr的依赖项(z3,pyvex)需要

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值