吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2130|回复: 4
上一主题 下一主题
收起左侧

[Android 求助] cocos2d 的 XXTEA 解密求助

[复制链接]
跳转到指定楼层
楼主
DreamOfStars 发表于 2023-2-13 11:51 回帖奖励
本帖最后由 DreamOfStars 于 2023-2-13 19:13 编辑

解包某游戏,打开所有资源文件,发现都有固定前缀

基本能确定使用了 XXTEA 加密

用 FrIDA 无脑 hook 之后发现,获取到的 key 居然是乱码


然后经历了 IDA 一通乱找之后,找到了其解密方法,长这样


看到了 sign 值,其 Hex View 为 0x40676C736C7A40
它下面紧跟着的 16 字节变量看起来很有意思,点开一看,正是 hook 得到的 key

xmmword_FAA41C DCB 0x90, 0x50, 0x4E, 0x40, 0xD, 0xA, 0x1A, 0xA, 0, 0, 0, 0xD, 0x40, 0x48, 0x44, 0x50

之后我就无从下手了,这个 key 不是字符串的话,不能直接用原算法解密吧。函数中的循环我也没能搞懂什么意思,很奇怪

更新:补一下 ApplicationDidFinishLaunching 的函数
讨论的函数位于第 78 行。随后的 第 82 行 loadChunksFromZIP 中调用了 同一个 xxtea_decrypt,并且没能找到 sign 和 key 的相关信息


最后附一张个人理解优化过的函数

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
cyhcuichao 发表于 2023-2-13 15:59
这个不像XXTEA的呢? 你这串代码扔进去解密试了吗?
3#
waqqt 发表于 2023-2-13 18:05
hook的key前几个字节像PNG的文件头,第一个字节不一样而已。有可能故意混淆视听
4#
 楼主| DreamOfStars 发表于 2023-2-13 18:31 |楼主
本帖最后由 DreamOfStars 于 2023-2-13 18:36 编辑
waqqt 发表于 2023-2-13 18:05
hook的key前几个字节像PNG的文件头,第一个字节不一样而已。有可能故意混淆视听


这是与png文件头的对比,看起来有点像,但是这混淆的也太奇怪了。
而且从最后一张图片的代码第20行和第40行来看,这个参数的确是传进去 xxtea_decrypt 里面了,我一直 hook 也只得到这个 key
5#
 楼主| DreamOfStars 发表于 2023-2-13 19:05 |楼主
这是我 hook 的 Frida 代码
[JavaScript] 纯文本查看 复制代码
Interceptor.attach(cal_ptr,{onEnter:function(args){console.log("xxtea_decrypt called. First Arg
Hexdump: \n",hexdump(args[0]),'\n Third Arg Hexdump: \n',hexdump(args[2]),'\n Fifth Arg Hexdump: \n',hexdump(args[4]));
}})


HexDump 出来基本上结果都类似,这里截图其中的一次函数调用


仔细观察发现 arg[2] 是 arg[4] 去除SIGN 之后的值,arg[0] 依旧乱码。迷茫 ing
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 14:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表