记一道简单的re--BUUctf reverse1

Posted newfirst-lzx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一道简单的re--BUUctf reverse1相关的知识,希望对你有一定的参考价值。

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的新手,单纯的想记录一下自己学习的过程,如有什么错误欢迎各位指正,谢谢。继续努力。

以上是关于记一道简单的re--BUUctf reverse1的主要内容,如果未能解决你的问题,请参考以下文章

记一道经典树上Nim游戏

记一道数字旋转排列算法题

Buuoj reverse1

pwn记一道shellcode侧信道攻击

记Javascript一道题的理解

记一道面试题