记一道简单的re--BUUctf reverse1
2024-09-06 17:43:29
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的新手,单纯的想记录一下自己学习的过程,如有什么错误欢迎各位指正,谢谢。继续努力。
最新文章
- php 操作数组(合并,拆分,追加,查找,删除等)(转载)
- [NOIP2014]寻找道路(图论)
- NODE.JS开发指南学习笔记
- Default团队项目立题
- Power BI Q&;A终于在圣诞前夕盼到
- Kubuntu 使用YaH3C进行中大校园网认证
- 【转载】linux tail命令的使用方法详解
- 细微之处:比较两种CSS清除浮动的兼容
- PAT 解题报告 1007. Maximum Subsequence Sum (25)
- eoe资料
- BZOJ 4415 发牌
- NameNode元数据的管理机制(三)
- Android使用bindService启动服务
- asp.net读取CSV
- ASP.NET Core 如何在运行Docker容器时指定容器外部端口
- C++ cmake
- C#操作DataTable类
- 第十二节,TensorFlow读取数据的几种方法以及队列的使用
- MVC| NuGet安装相关工具包
- 关于AXI_Quad_SPI的寄存器配置