buuctf-re-Overlong
拿到题目,是一个exe文件,也没有壳什么的,还有个txt文件,但也没啥有用的信息
运行一下
用ida打开文件,反汇编后的结果
可以看到实际只有一个函数:sub_401160,unk_402008里面是存的数据,messagebox则是窗口函数输出用的
来看看函数里面到底啥样
不太能看懂啊,猜测是某种加解密算法或者编码,逆向题是喜欢考这种的,只要能辨识出来就简单了,这里当然是问问gpt最好了
不错,成功,接下来我首先想到自然是将这里的数据拿去进行utf-8的解密,但是要将数据扣出来我是不会快捷方法的,数据又那么长手扣很麻烦
文件内是没有“i never·····”这个字符串的,长度又正好为28,这不就是sub_402260的参数吗,所以我们实际上也不需要扣数据,直接让程序帮我们解就好了,要实现实际上改这个参数就行
ida的修改我也没玩明白,这里用od来进行
定位到位置,然后右击选择汇编就行(或者空格),把它的长度修改大一点(保证我们的flag能全部出来)
然后开始调试,f8步进几次就能在寄存器中看到答案了
也可以显示在输出中