[原创]]2022KCTF秋季赛 第十题 两袖清风
13小时前 145
cipher 0xB20446102D1C343D0575674CA28EBC0419BCFE4D75682C2AC81C9502454650BDDAEF6968AF269B54C182
N = 0x4F62187B5F6590C6CFF0FBDBBEBDAF60AA861BD2F66F8F7FFD57A66AE50DB7D2FFFFFFFFFFFFFFFFFFFFF
E = 0x11
N可直接分解
计算出 D 243855937587318030864454877487317725150433472540948954237790304930432311137671434982797927461139896305
转为hex 1BDF5752B86533B0EF0C488375EBFE389163712709D3FEE35C7679A1AB7A8E697366227CAF168C99DD7F1
key为 4位数字 + rsa解密内容("AllIsNothing") + "00 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD"
4位数字要求两两相同
爆破脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
观察到 1010 像是解密正确的结果
EnumWindows 里会检查窗口是不是有 ida x64dbg,但是转换了大写,这就检测不到了
GetTickCount64时间检测,ResumeThread执行解密代码,随后对一处反调试代码校验
UuidFromStringA获取第2段代码,通过EnumSystemLocalesA回调执行代码
两个bin都有简单的自解密,处理后dump分析
输入第一个字节是长度,随后是半个字节的范围在0-9
bin1检查输入合法,第一步YX要求X=0,每一步要求与上一步在相邻行或者列(这里写错了,导致可以跨行跨列瞬移),最后一步要求在边界,生成正确的迷宫
bin2校验输入,同bin1检查输入,同时检查输入长度,以及每一步都是00
可能的解
17 3031323343515253545556617166727374847677788694
17 3031324351525354555661717273746676777884948694
0F 303132334353525161717273748494(有争议,部分机器可行)
实际提交解 1BDF5752B86533B0EF0C488375EBFE389163712709D3FEE35C7679A1AB7A8E697366227CAF168C99DD7F11010173031324351525354555661717273746676777884948694