符号执行(一)angr环境配置(Windows&Linux)

最近做CTF了解到了符号执行这一技术,发现符号执行真是时十分便捷。

符号执行介绍:https://www.anquanke.com/post/id/157928

我使用的是python下的angr这一工具

环境配置:

1.windows10:

环境:python2(python3好像也支持了)

分别执行:

pip install pyvex
pip install unicorn
pip install simuvex
pip install angr 

之后import angr验证

成功(无视warning)

2.Kali linux下安装angr

环境:python2

由于我的kalilinux版本问题,直接pip install virtualenvwrapper是不能成功的(由于python2不支持最新的virtualenvwrapper版本,会报错)

所以我选择安装以前版本的virtualenvwrapper

pip install virtualenvwrapper==4.0

之后

设置一个环境变量WORKON_HOME:
export WORKON_HOME=$HOME/Python-workhome
 
启动virtualenvwrapper.sh脚本:
source /usr/local/bin/virtualenvwrapper.sh

创建一个虚拟环境:
mkvirtualenv angr

之后会自动进入到虚拟环境中,再安装angr
pip install angr

之后便可以在虚拟环境中使用angr了

切换环境: workon angr
退出环境: deactivate 
删除环境: rmvirtualenv

 

用一个CTF题举例

正好手上有一道简单的CTF题,用来测试一下这个工具的使用

如图:这一题将输入进行了异或操作并与固定字符串比较

试一试用angr而不是写逆向算法来解

#exp.py
import angr
proj = angr.Project("./re2")  #获取程序创建angr
simgr = proj.factory.simgr()
simgr.explore(find=lambda s: b"congratulations!" in s.posix.dumps(1))   #匹配到赢得方法
print simgr.found[0].posix.dumps(0)

只跑了十几秒即打印出了flag

参考链接:

http://www.manongjc.com/article/68188.html

https://www.anquanke.com/post/id/85039

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值