-
-
[原创]KCTF2020秋季赛 第四题 突破重围
-
发表于: 2020-11-24 10:11 4503
-
本题安卓题目,反编译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没有关系,忽略了
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-11-24 10:29
被ODPan编辑
,原因:
赞赏
他的文章
赞赏
雪币:
留言: