-
-
[原创] KCTF2020 秋季赛 第四题 突破重围
-
发表于: 2020-12-15 00:15 6777
-
题目有动态加载dex的行为,直接Frida没办法dump到加载的dex(我不会),这就尴尬了,重要逻辑在那个后面手动加载的dex里,怎么办呢。
关于逻辑,感觉是这样子
输入的内容会先经过crypt,得到的结果走一遍crackjni,然后得到的结果再走一次crypt。
然后和 com.kanxue.crackme.MyCrack 比较
但是吧,结果并不对。。其中crypt是RC4,crackjni是native实现的AES/ECB。
不知道哪一环出现了问题。
想调试一下,但有商业壳,开始睡觉,睡了一觉起床发现重新发题了,壳没了,可调。
回想一下,crypt是个显而易见的RC4,key是kaokaonio
,这个感觉没啥问题,然后开始怀疑,难道是我的crackjni看错了,不只是AES吗,或者在返回的时候被改掉了吗。
反正现在就可以调试了,调试了一下,发现没错。。。那问题在哪里。
那可能是第二次crypt函数被改了。反正没有壳了,我可以调试Java层了,但不知道能不能调试这后面load上来的dex,算了直接上Jeb试试。
我去,这,JEB牛逼,还真可以跟着invoke进去,调试发现第二次调用crypt的时候,v0居然是keepGoing了。。。
然后这个时候调试出现了惊喜,我发现了这个新的v0居然是keepGoing了。。。这特么。。。
好了所以就是 RC4 => AES => RC4,第二次RC4的时候key被改变了。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
看原图
赞赏
雪币:
留言: