-
-
[原创]看雪CTF2017第12题
-
发表于:
2017-6-24 17:59
4469
-
1. dex处理逻辑
encode1是base64, encode2和encode3比较简单, 略过
sn = encode3(sn) + encode2(sn) + encode1(sn)
2. so处理逻辑
JNI_OnLoad中有两个校验和反调试的地方, 静态分析的时候直接nop掉, 安装完后再替换掉就可以正常调试了
(有检测dex signature和TracerPid什么的)
so中的check函数
len(sn)<=120, 原始sn长度范围(x+x+x/3*4 <= 120): 11 ~ 36
从结果来看原始sn长度是36, 但是我后面是从11开始穷举的, 浪费了大量的时间
BYTE buf[40];
BYTE key1[8];
BYTE key2[16];
CopyMemory(buf, sn, 36);
FillMemory(buf+36, 0x04, 0x04);
des_enc(buf, sizeof(buf), key1); (这里des_set_key在处理PC2_Table的时候与标准有偏差)
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!