-
-
[原创]看雪CTF2017 第三题分析
-
发表于:
2017-6-7 09:29
4171
-
OD打开程序发现OEP是0,程序被加壳或修改过。用IDA打开,在 00408E16修改为0xcc,保存
将OD设置为默认调试程序,双击运行程序。
成功断到00408E16,将00408E16修改为0xc3。
在 MSVBVM60.ThunRTMain 处下断,F9运行,断下,根据堆栈找到返回地址0040109A,如下:
00401090 就是OEP,修改 00401095 处的CALL 指令,使其直接调用MSVBVM60.ThunRTMain
直接dump,完成后将dump后的OEP改为1090。保存即脱壳成功。
下面使用VBDecompiler进行反编译,下面是关键代码:
输入长度16个字符,0-9,a-f,分别为global_84,global_92,之后计算方程组,整理后为
其中global_76 = 1711722997, OD跟踪发现 global_68=global_52=global_60=0,
在matlab中计算方程组如下:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课