首页
社区
课程
招聘
[原创]看雪CTF2017 第三题分析
发表于: 2017-6-7 09:29 4171

[原创]看雪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直播授课

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 10072
活跃值: (3008)
能力值: ( LV15,RANK:515 )
在线值:
发帖
回帖
粉丝
2
完美的避过了反调试!!
2017-6-7 12:40
0
雪    币: 18
活跃值: (12)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
这个才是正常的破解思路,感谢分享!!
2017-6-7 12:48
0
雪    币: 1994
活跃值: (1526)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
4
话说你怎么解的二元四次方程组?  两个方程式求x、y!
2017-6-7 13:00
0
雪    币: 55
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
666
2017-6-7 13:38
0
游客
登录 | 注册 方可回帖
返回
//