[FlareOn6]Overlong
步骤:
- 例行检查,32位程序,不懂是个啥
- 32位ida载入,main函数很简单
处理函数
sub_401000
- 程序只对unk_402008的28位进行了处理,但是我看unk_402008并不止28位,实际长度是0xaf(0xb7-0x8)
运行了一下附件,发现弹框里的数据长度也是28,结尾是:,让人总觉得后面还有东西
将长度修改一下,让他将unk_402008完全处理一下看看,ida修改了不会保存,od动调修改需要将0x1c压入栈中,在栈中修改,我一开始直接修改代码会导致后面的代码偏移改变。
在右边方框中依次点寄存器然后右击转到内存(具体是那个我不记得了),看到6A 1C ,然后将1C改为AF,然后继续f8,就能看到输出的字符串了
后来我又拿winhex修改了,反正文件的文件的本质就是二进制
这里本来是1C,被我修改成了AF,保存后打开
flag{I_a_M_t_h_e_e_n_C_o_D_i_n_g@flare-on.com}