-
-
[原创]KCTF2020秋季赛 第四题 突破重围
-
发表于: 2020-11-24 10:11 4115
-
本题安卓题目,反编译apk文件,首先查看onCreate,加载了crack.so文件和asset目录的b.txt文件
然后在按键回调函数调用关键check函数,如下函数check返回true,验证成功。
顺着思路,查看MainActivity.this.check,该函数中调用了类“com.kanxue.crackme.Crack”的check方法。
我们可以看到b.txt文件是一个dex格式文件,反编译后,可以找到上面提到的check方法。分析该方法,可以得到整个数据加密流程
sn->rc4->crackjni->rc4->base64->result
如果result == checkResult则check成功
checkResult是类“com.kanxue.crackme.MyCrack”的field“crypt”
MyCrack.crypt = "otVvmpP4ZI58pqB26OTaYw==
接下来分析crackjni,核心算法是AES。
到此感觉可以收工。
正向加密流:sn->rc4->aes->rc4->base64->result==checkResult
逆向求解 :checkResult->base64->rc4->aes->rc4->sn
发现掉入作者的坑里,返回填坑。
在crackjin中,还有一部分code,之前感觉和sn没有关系,忽略了
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2020-11-24 10:29
被ODPan编辑
,原因:
赞赏
他的文章
看原图
赞赏
雪币:
留言: