-
-
[原创]2019 Q2 第四题 达芬奇密码 分析
-
发表于:
2019-6-23 17:59
8681
-
MFC程序,根据字符串"Wrong!"找到验证函数0x401ea0
key长度为16
对话框初始化时解密shellcode:
复制解密完的shellcode到一特定地址,传入input,开始验证,返回为1则成功:
为了便于调试,我nop掉了复制shellcode的步骤,然后写了一段简单的Idapython把解密后的shellcode放到正确的位置上:
F5出来的伪代码:
看起来乱七八糟的,于是我把它等价转成了Python:
总结一下:
直接用wolframalpha解得
x = 385044246406735194, y = 145533045678356702
最后用上面的代码转换为输入,最后的key为L3mZ2k9aZ0a36DMM
loop4的减法实现似乎有点问题,借位为1就一直为1了,但是并不影响最后的答案,因为一旦借位,就返回0了。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2019-6-23 19:05
被mratlatsn编辑
,原因: