首页
社区
课程
招聘
[原创]KCTF2021秋 第十一题 图穷匕见 writeup
发表于: 2021-12-15 01:07 18836

[原创]KCTF2021秋 第十一题 图穷匕见 writeup

2021-12-15 01:07
18836



依靠强大的IDA,一边DOTA2,一边逆向,一局还没打完,就把程序逆完了,实在太小了


大致逻辑:


先处理输入,转成16字节binary,然后 aes subbytes, 倒序一下


整个crackme,都是以 uint64 为block来处理的,所以输入的 serial 被拆成了 s0, s1 两个数


然后 进入 crypt

用 a0, a1, k0-k4, s0, s1, 计算出 v0, v1 校验两个常数

用 b0, b1, k0-k4, s0, s1, 计算出 v2, v3 校验两个常数


其中crypt代码也非常简单,一共5轮计算,注意中间3组都是异或,结果一模一样



其中 Xor很容易看出来,下面一个Mul,长这个样子


根据 a2&1 != 0 就 xor a1,得出这是一个乘法,xor意味着 GF(2) 的加法

根据 a1 的最高位确定是否需要异或一个magic,得出这是一个多项式模乘,64位,模数 = 0x10000000247F43CB7




综合一下,大概就是这样的

有两个未知数的多项式环,系数是GF(2^64)的多项式,分别做了5次迭代运算


`


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

最后于 2021-12-15 11:49 被海风月影编辑 ,原因:
收藏
免费 7
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//