首页
社区
课程
招聘
[原创]2019 Q2 第十题 开启时间之轮 分析
发表于: 2019-6-23 20:02 7255

[原创]2019 Q2 第十题 开启时间之轮 分析

2019-6-23 20:02
7255

win32对话框程序,按钮事件处理函数为0x403db

从4个大数字符串里随机选取一个:

input长度在[6,145]中:

进入check_format做格式验证:
1.input分为两部分,由"XXXX"分隔。
2.后半部分必须为数字,且第一个数字不能为0。(应该是防止多解用的)

将输入的第一部分,第二部分和随机选取的大数存在自定义的字符串结构中:

由3个字符串和其他一些数据组成了新的结构,传入最后的校验函数ctf_final_check

ctf_final_check的返回值传入一个变形的b64函数里,生成最后的提示信息字符串:(提示成功的字符串对应着final_check的返回值为0)

ctf_final_check:

使用到的大数结构:

把3个字符串转换为数字,进行几个个关键校验:(省略了一些简单的变换步骤)

BSGS解小区间上的离散对数:
跑了10多分钟跑出来 x_b25 = 79821823136933
经验证 x_b25同时也满足其他3组离散对数方程。

解第一部分:

第一部分为:KCTFREADYK

wolframalpha解方程:

解得:t = 1548396171915056368526513804948765619094392315806578106376668805448390390825
故第二部分为:

完整的key:KCTFREADYKXXXX1548396171915056368526513804948765619094392315806578461796159505215278288254


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2019-6-23 21:52 被mratlatsn编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (1)
雪    币: 69
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错
2019-10-22 11:06
0
游客
登录 | 注册 方可回帖
返回
//