-
-
[原创]2023 KCTF 年度赛 第五题设计思路
-
发表于:
2023-8-24 16:01
5190
-
[原创]2023 KCTF 年度赛 第五题设计思路
模式:Window平台CrackMe方案一
程序中有大量的计算混淆代码,主要用于干扰逆向算法。混淆代码具有一定的特征,仔细分析对比可识别出。需要解题人根据模式识别剔除无效代码。
混淆代码的C源码:
编译后的汇编代码:
Base64统一输入范围,通过CRC32验证输入有效性。通过逆元生成两个唯一Key,使用该Key生成幻方。用生成的幻方进行对称加密。最终使用逆元计算验证加密结果。
解题人首先需要识别出混淆代码,将其nop后才能看到核心算法。大概的核心算法如下:
输入Key的格式如下:
验证过程:
(1)、base64解码。
(2)、校验和验证。
(3)、验证key1/key2长度。
(4)、通过逆元验证两个幻方key唯一性.
(5)、根据两个幻方key分别生成两个幻方,并分别对key1和key2进行异或。
(6)、通过逆元验证key1和key2的唯一性。
(7)、通过以上所有验证,返回成功,否则返回失败。
/
/
key的格式如下描述(单位:字节)
/
/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/
/
|
4
|
2
|
/
/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/
/
/
/
对应下面解释
/
/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/
/
| 幻|长 | | 幻 | 长| | |
/
/
| 方|度 |
/
/
|key|
len
| |key |
len
| | |
/
/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/
/
key的格式如下描述(单位:字节)
/
/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2023-9-13 14:08
被kanxue编辑
,原因: