-
-
[原创] 看雪.TSRC 2017CTF秋季赛第二题
-
发表于:
2017-10-29 14:15
3548
-
[原创] 看雪.TSRC 2017CTF秋季赛第二题
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)@发现可以过。
[培训]科锐逆向工程师培训第53期2025年7月8日开班!