首页
社区
课程
招聘
[原创] 看雪.TSRC 2017CTF秋季赛第二题
发表于: 2017-10-29 14:15 3547

[原创] 看雪.TSRC 2017CTF秋季赛第二题

2017-10-29 14:15
3547

v2 = (0xe8f508c8 - 0xc0a3c68) / 2; 

vd = 0xeaf917e2 - 0xe8f508c8; 

 v0 = 0xEaf917e2 - v2 - vd* 4; 

 v1 = v0 - vd;

得到字符串Just0for0fun   最后添加11A溢出字符! 

大佬别笑哈@ netwind 帅哥帅哥给个那个有点点红的小砖砖嘛。

此题让我体会到了人心的黑暗。
唉,基本走完作者埋下的深坑,幸好时间充足最后还是完成了。
载入od运行,没有对关键字符串加密,可以直接找到“算法位置”。


嗯,就是解方程嘛!第一式得到0xB*(v1-v0)=0xc0000000+x*0x100000000.  第二式0x7*(v1-v0)=0x60000000+y*0x100000000
先算v1-v0,当v1-v0>0  即 0x0<v1-v0<0xFFFFFFFF 上式化简为0xB*(v1-v0)=0xc0000000 ,0x7(v1-v0)=0x60000000 。
当v1-v0<0,即 0x0<v0-v1<0xFFFFFFFF ——> 0x0<v1-v0<0xFFFFFFFF.   0xB*(v1-v0)=0xc0000000 ,0x7(v1-v0)=0x60000000.
写个循环
发现i无解,由此判断可能是作者整人的,真正的算法可能隐藏了起来,仔细检查发现程序存在栈溢出(因为那个算法只要求8个字符有没有限制字数)正确的跳转位于40102f
所以可以构造字符串12345678^p(ctrl+p)@发现可以过。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (1)
雪    币: 16764
活跃值: (7306)
能力值: ( LV13,RANK:923 )
在线值:
发帖
回帖
粉丝
2
第四张改下
2017-10-29 14:25
0
游客
登录 | 注册 方可回帖
返回