XCTF csaw2013reversing2

题目描述:听说运行就能拿到Flag,不过菜鸡运行的结果不知道为什么是乱码

一.先运行看看。
XCTF csaw2013reversing2
果然乱码。
二.查壳

XCTF csaw2013reversing2
三.是pe文件,可以拖入od和ida进行动态和静态分析。
1.对主函数进行反编译一下。

XCTF csaw2013reversing2
2.这里可以直接看出代码的逻辑和用意,那个if语句可以解码,如果没进入这步,会直接输出乱码的东西,看看汇编,这里已经利用最大资源了,我们来看看汇编是咋样的。
XCTF csaw2013reversing2
3.结合着伪代码来看,loc_401096是解码的函数,而loc_4010B9是输出窗口的函数,那么我们只要jmp到解码函数,同时到跳到输出窗口,flag不就解码出来了吗。
4.拖入od,中文查找。

XCTF csaw2013reversing2
修改汇编代码。
XCTF csaw2013reversing2
XCTF csaw2013reversing2