BUUCTF Reverse reverse1 Writeup
BUUCTF Reverse reverse1 Writeup
此Writeup参考了BUUCTF 刷题笔记——Reverse 1-腾讯云开发者社区-腾讯云
使用IDA打开之后可以先查找主函数or使用Shift+F12查找字符串。(我做的时候是使用后者,但现在看前者更直接。)
点击带有flag的字符串,但是发现跳转的这里似乎并不是函数的主体。
没事,可以对这个变量按住X来交叉引用。
转到交叉引用的地方就对了。然后就按F5生成主函数的伪代码。
通过伪代码,我们可以猜测,输入的被存储到了Str1中,而正确的是Str1。这里的!strncmp(Str1,Str2,v5)意思是只有当Str1从头到尾(–范围为Strlen(Str2),即“v5”)都与Str2相等的时候,才返回0(那么非0即为1),也就是Str1==Str2的意思啦!
所以现在我们只要知道Str2究竟是啥就行了。双击Str2,可以看到Str2的初值是hello_world。db是define byte的意思,此处为字符串定义。
然而,我们还需要看看Str2是否有被更改过。很明显,我们能在伪代码中找到线索。
这里是一个对Str2的遍历。如果Str2中有含ASCII码为111的字符(即为’o’),则将其替换为48对应的字符(即为’0’)。所以,Str2就变成了hell0_w0rld,这也就是flag了。
- Title: BUUCTF Reverse reverse1 Writeup
- Author: Realknow
- Created at : 2026-01-11 22:32:05
- Updated at : 2026-02-12 16:49:37
- Link: https://realknowtech.github.io/2026/01/11/BUUCTF-Reverse-reverse1-Writeup/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments