buu Reverse学习记录(2) reverse1

题目链接:https://buuoj.cn/challenges#reverse1

把题目放进exeinfo pe里,是个64位的executable

buu Reverse学习记录(2) reverse1
把题目拖进IDA64中,按F5得到为代码并一路跟进,没有看到程序的主函数。
buu Reverse学习记录(2) reverse1
按shift+F12,搜索字符串,发现有个“this is the right flag!”的字符串,跟进去。

buu Reverse学习记录(2) reverse1

按X查看哪里引用了这个字符串,跟进去。

buu Reverse学习记录(2) reverse1
发现了需要的主函数。
先是输入一串字符,存入Str1中,然后Str1与Str2进行比较,如果相等,则输出是对的flag,反之,是错误的flag。看看Str2是什么。

buu Reverse学习记录(2) reverse1

可以看到这个Str2是“{hello_world}”,但这不是正确的flag,可以看到上面的主函数里,它把"o"全部换成了"0",修改一下就是正确的flag了。

buu Reverse学习记录(2) reverse1

flag:{hell0_w0rld}