首页 > 运维 > 安全 > 正文

idaPro如何分析app解密lua脚本

WBOY
发布: 2023-05-18 08:34:19
转载
1925人浏览过

通过前面idapro调试或hook,我们可以获取到xxtea解密key,对于sign我们可以直接打开原文件:

idaPro如何分析app解密lua脚本        

可以看到sign值:byds。因此,我们可以尝试使用xxtea解密工具(通过在GitHub上获取源代码并编译)进行解密

idaPro如何分析app解密lua脚本        

以index.luac为例,我们看index.luac解密前后变化:

idaPro如何分析app解密lua脚本

        我们看到经过xxtea解密后的lua脚本仍然不是明文!我们之前根据cocos2d框架源码及大神apk反编结果确定就是用的xxtea加密,而且app的lua脚本也有签名值,这也印证了就是xxtea加密方式,但是我们解密出来的结果仍然不是明文,这说明我们解密可能不完全,到底是不是还得再回到idapro一探究竟。

        用idapro打开libgame.so,在export窗口中搜索byds,找到byds_d函数,双击进去:

idaPro如何分析app解密lua脚本        

直接F5会显示反编代码:

idaPro如何分析app解密lua脚本        

这没有什么特别的,和我们框架源码中的代码是等效的。如果是解密未完成的话,应该会再调用此函数的上一级继续解密过程,我们jump xrefs跟踪一下此函数调用:

idaPro如何分析app解密lua脚本        

出来两个,其中一个是got表,肯定不是,我们双击第一个:

idaPro如何分析app解密lua脚本        

只是一个包装函数,我们继续跟踪:

idaPro如何分析app解密lua脚本        

双击进去:

idaPro如何分析app解密lua脚本        

我们看到这个函数名称和源码中调用xxtea_decrypt是一样的,我们一开始也将这个函数列入突破口了。现在可以很清晰的看到脚本经过byds_d解密之后,又进行了一次uncompress解压,到现在应该基本清晰了,lua脚本应该是经过压缩又进行加密,所以要想还原,应该是先xxtea解密,再解压缩。在GitHub上可以找到一个解压zlib的脚本,可用于对解密后的文本再进行解压

idaPro如何分析app解密lua脚本        

然后再看index.lua:

idaPro如何分析app解密lua脚本        

可以看到现在已经变成明文了。

以上就是idaPro如何分析app解密lua脚本的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:亿速云网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号