首页
社区
课程
招聘
[原创] KCTF2020 秋季赛 第四题 突破重围
发表于: 2020-12-15 00:15 6777

[原创] 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被改变了。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//