1.首先拖进ida里,看到了左面一百多function。。。还是shift+f12 查看敏感字符串吧

2.发现了这两个比较可疑的字符串,然后双击this is the right flag 进入到了他在内存中的位置

看到了这么两行,这个DATA XREF的意思就是 这个字符串在程序中被引用到代码片断(函数)的地址,

这里有两个方法进入到这个函数中

第一是在这行上右键,有一个jump in a new window

点一下就会进入到这个函数的程序流程图中,

然后f5,就进入到了这个函数的伪代码中。

也可以点后面的loc_140011996,这是引用这个字符串的函数的地址0x140011996,右键jump in a new window,然后就f5,进入到伪代码中。

第二种就是看DATA XREF后面的函数名sub_1400118c0然后去左面的函数名里找。

3.进入后,从头往下捋一下,发现这么几个可疑的地方,

我猜111是Str2[j]这个字符对应的ascii码,如果Str2中出现了这个字符, 就换成ascii码为48的字符,

查表后发现就是o换成0,

这里发现是用Str1来接收输入的flag,

然后将Str1与Str2进行比较,如果相等就this is the right flag!

所以就去看看Str2里存的是什么,双击Str2

所以猜将这个hello_world中的o换成0就是最终的flag,

提交试了一下还真是。

by:一个刚学pwn和re的新手,单纯的想记录一下自己学习的过程,如有什么错误欢迎各位指正,谢谢。继续努力。

最新文章

  1. php 操作数组(合并,拆分,追加,查找,删除等)(转载)
  2. [NOIP2014]寻找道路(图论)
  3. NODE.JS开发指南学习笔记
  4. Default团队项目立题
  5. Power BI Q&A终于在圣诞前夕盼到
  6. Kubuntu 使用YaH3C进行中大校园网认证
  7. 【转载】linux tail命令的使用方法详解
  8. 细微之处:比较两种CSS清除浮动的兼容
  9. PAT 解题报告 1007. Maximum Subsequence Sum (25)
  10. eoe资料
  11. BZOJ 4415 发牌
  12. NameNode元数据的管理机制(三)
  13. Android使用bindService启动服务
  14. asp.net读取CSV
  15. ASP.NET Core 如何在运行Docker容器时指定容器外部端口
  16. C++ cmake
  17. C#操作DataTable类
  18. 第十二节,TensorFlow读取数据的几种方法以及队列的使用
  19. MVC| NuGet安装相关工具包
  20. 关于AXI_Quad_SPI的寄存器配置

热门文章

  1. linux 安装 Django
  2. matlab 霍夫变换—检测圆
  3. 巨杉TechDay回顾 | WARNING!您参加的数据库沙龙热度已爆表……
  4. Python入门5 —— 基本运算符
  5. tkinter页面卡死
  6. Allegro 反射仿真--仿真设置
  7. 高端OLED电视成行业突破口,苏宁助力显示技术市场迭代
  8. python3 win 建立虚拟环境(virtualenv)
  9. 使用Limit实现分页
  10. layui下select禁止点击