针对angr提供的练习题,现在进行求解01_angr_avoid,它也是关于输入密码的问题,需要使用angr求解出正确密码。但是需要提供排除地址以减少路径求解时间。

参考博客点这里

具体代码如下所示

import angr
import sysdef main(argv):path_to_binary = "01_angr_avoid"project = angr.Project(path_to_binary)initial_state = project.factory.entry_state()simulation = project.factory.simgr(initial_state)# Explore the binary, but this time, instead of only looking for a state that# reaches the print_good_address, also find a state that does not reach # will_not_succeed_address. The binary is pretty large, to save you some time,# everything you will need to look at is near the beginning of the address # space.# (!)print_good_address = 0x080485e0will_not_succeed_address = 0x080485f2simulation.explore(find=print_good_address, avoid=will_not_succeed_address)if simulation.found:solution_state = simulation.found[0]print(solution_state.posix.dumps(sys.stdin.fileno()))else:raise Exception('Could not find the solution')if __name__ == '__main__':main(sys.argv)

我们需要确定目标地址和排除地址,此处,目标地址是0x080485e0,排除地址是0x080485f2。

目标是Good Job,所以需要求解它的指令地址。

由于try again表示再次求解,为减少路径求解时间,需要将其排除。

下面验证实验结果
执行刚刚写好的程序,保存为scaffold01.py,并将其与01_angr_avoid放于同一文件夹中,具体如下图所示。

再执行01_angr_avoid,然后需要我们输入angr刚刚求解出的密码即HUJOZMYS,结果为Good Job。

至此,求解01_angr_avoid已全部完成。

Angr安装与使用之使用篇(二)相关推荐

  1. nas安装emby_[Troy]瞎折腾 篇二:黑群晖安装Emby教程—Emby Server无法启动怎么办

    [Troy]瞎折腾 篇二:黑群晖安装Emby教程-Emby Server无法启动怎么办 2018-12-14 18:13:27 8点赞 181收藏 90评论 你是AMD Yes党?还是intel和NV ...

  2. 黑苹果安装 未能与恢复服务器取得联系,联想M73小主机黑苹果 篇二:系统安装及BIOS设置...

    联想M73小主机黑苹果 篇二:系统安装及BIOS设置 2020-09-03 23:08:13 52点赞 295收藏 91评论 上次写了联想M73黑苹果启动U盘的制作,这次来写系统在线安装的教程,后面会 ...

  3. 调音台docker教程_威联通Docker教程 篇二:三分钟安装精美的音乐播放器 MusicPlayer!Container Station系列教程!...

    威联通Docker教程 篇二:三分钟安装精美的音乐播放器 MusicPlayer!Container Station系列教程! 2020-04-15 11:01:02 67点赞 529收藏 47评论 ...

  4. php安装 tvheadend_,我的NAS我的地盘 篇二十一:群晖安装TVHeadend 4.4,Xbox下Kodi播放IPTV更流畅,再来一次同样精彩!吖!...

    我的NAS我的地盘 篇二十一:群晖安装TVHeadend 4.4,Xbox下Kodi播放IPTV更流畅,再来一次同样精彩!吖! 2020-03-10 11:54:02 24点赞 238收藏 49评论 ...

  5. nas安装emby_威联通QNAP系统入门进阶 篇二:宅家新姿势—威联通NAS安装套件版Emby搭建家庭影音服务器...

    威联通QNAP系统入门&进阶 篇二:宅家新姿势-威联通NAS安装套件版Emby搭建家庭影音服务器 2020-02-04 19:38:54 123点赞 1466收藏 123评论 你是AMD Ye ...

  6. [篇二章三]_Windows 11 安装报错指南

    ################################################## 目录 Windows 11 安装前一系列报错问题 前言 一些经常遇到的问题比如不支持硬件需求 当前 ...

  7. 在VmWare Workstation 6.5上安装Esx 3.5 U3之二

    三.安装VMware ESX 3.5 Update3 在二.中,设置好了ESX 3.5在VMware 6.5中得以顺利安装的环境,接下来就要进行ESX 3.5 U3的安装了. 安装ESX 3.5 U3 ...

  8. 一台电脑怎么接两个显示器_电脑数码类目显示器 篇二:11.11抄作业,个人消费级显示器怎么选--20款好价显示器推荐_显示器...

    2020-11-09 21:56:2572点赞390收藏91评论 想攒一台电竞主机.家用主机.酷炫主机无从下手?想省钱又怕性能不达标?值得买帮你打造定制化DIY装机工具,自助全网比价装机,提供最适合的 ...

  9. PostCSS自学笔记(二)【番外篇二】

    图解PostCSS的插件执行顺序 文章其实是一系列的早就写完了. 才发现忘了发在SegmentFault上面, 最早发布于https://gitee.com/janking/Inf... 这次我继续研 ...

  10. 小米路由器青春版装linux,比较费心的折腾 篇二:小米路由器青春版折腾负载均衡...

    比较费心的折腾 篇二:小米路由器青春版折腾负载均衡 2020-06-04 11:00:23 3点赞 10收藏 8评论 创作立场声明:本文的核心目的是对于比较久远的硬件进行折腾,提及的软件可以在官网.软 ...

最新文章

  1. 【PAT (Advanced Level) Practice】1005 Spell It Right (20 分)
  2. 【控制】傅里叶系列(一)傅里叶级数 (Fourier series) 的推导
  3. 【Hibernate】getHibernateTemplate.find()和session.createQuery()方法总结
  4. 编译linux tq2440,QT4.8.2在TQ2440开发板上的移植(一)--编译和安装
  5. matlab2c使用c++实现matlab函数系列教程-wilkinson函数
  6. java 复制mysql某张表_java实现mysql数据库从一张表插入数据到另一张表
  7. 2020-12-26
  8. 计算机网络实训室建设设备,网络综合布线实训室建设方案
  9. 【STM32】基于STM32F407实现串口通信
  10. java redis 抽奖_GitHub - zenmin/luckdraw: 年会抽奖程序 Java开发 可内定中奖人员 一键导入员工 使用简单...
  11. 软件测试基本流程与方案(以电商大促为例)
  12. 将assets文件转为byte[]
  13. 126邮箱如何绑定qq邮箱服务器,126邮箱注册登陆入口(一招教你快速登录QQ/网易邮箱)...
  14. 晴空物语与服务器连接中断,晴空物语刷星光币教学 要耐得住寂寞
  15. 实战分享:USB PCB布线经验教训!
  16. java set集合基础使用及其特点
  17. Git 标签管理(创建标签、操作标签)
  18. win7 修复计算机 黑屏,拯救黑屏 Win7系统引导文件丢失修复教程
  19. Linux扩展文件分区
  20. 申请专利流程及费用。

热门文章

  1. IL -- 手动处理装箱Box
  2. springboot的war部署到tomcat正常启动,访问404问题
  3. MySQL的条件判断函数
  4. mysql如何用sql增加字段和注释?
  5. from collections import OrderedDict
  6. 使用DirectShow.NET获取摄像头视频流
  7. NOIP 2005 等价表达式 (TYVJ P1060)
  8. IT十八掌掌第十一天课程总结
  9. 小蚂蚁学习C语言(27)——C语言中的进制转换
  10. 为IT部门画一个“饼”