安卓手游Lua脚本解包实录:从assets到热更文件还原
最近在研究一款休闲手游的逻辑实现,把过程记一下。APK解开之后assets里只有个几百KB的启动器,真正的逻辑全在热更目录里,下发的zip带了一层异或加密,每个文件头两个字节被改了。处理思路不复杂,先用frida在运行时hook住解密函数,把密钥捞出来,是个十六字节的固定串。然后用Python写了个批量解密脚本,跑完两千多个luac文件就都还原了。反编译用的unluac,大部分文件能出可读源码,少数用了字节码混淆的会报错,得对着反汇编硬看。
最大的收获是看清了它的活动配置系统,策划配表全是Lua表,活动开关和奖励概率都在里面。大家研究的时候注意,解包学习归学习,别把改过的文件打包回传服务器,封号是小,麻烦是大。
https://www.metk.cn/img/posts/lua_unpack_01.jpg
页:
[1]