-
-
[原创]看雪6月 京东 2018CTF 第十三题——暴力破解神经网络
-
发表于:
2018-7-12 11:53
6094
-
[原创]看雪6月 京东 2018CTF 第十三题——暴力破解神经网络
注意:此解法非常暴力,如果你想通过这道题学习神经网络相关的数学与算法知识,建议点击返回并查看其它大佬的WP。所以请版主大大千万别加精,要脸。。。
长度限定为10,但他计算长度的方法非常的魔性,我是没看懂,是猜+调试弄出来的。
然后是字符范围,要求[A-F0-9]
,并且会通过这个把它转换成数值
如果范围不对,capitical_hex_to_num
会返回0
然后在后面,有一个input_num & 0xF0000
就会错误的检查,最后得出flag为XXXXX0XXXX
的形式,其中X
为[0-9A-F]
PS:这个坑了我整整一天,一直看错了以为flag是XXXX00XXXX
,然后一直跑不出解,还以为是反调试了,调试的时候的训练数据跟不调试的不一样,还对程序做了补丁输出了所有不加调试时候的数据,然后发现一样怀疑人生。。。也还是自己犯傻了。。。
暴力破解也很简单了,基本上就是把前面三个函数nop掉,因为要么会crash(可能是因为爆破只调用了main,没有调用程序的预处理,而0x401F00
很可能是编译器生成的call,要么会太慢(训练的时候用GetTickCount
规定了必须1秒)。然后,把预先训练好的数据dump下来,直接memcpy
过去,接下来就是暴力跑了。。。
代码轻喷。。。
然后这个其实是有猜的成分,之前我是从0-0xffffffff
然后开12个进程一直在跑的,然后发现好像只有0xXX4XXXXX
会产生go on的信息,所以索性换成了以上的爆破方式,结果就在E的时候出结果了。。。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!