温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

idaPro如何分析app解密lua脚本

发布时间:2022-01-18 13:56:58 来源:亿速云 阅读:337 作者:柒染 栏目:网络安全

idaPro如何分析app解密lua脚本,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

通过前面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脚本问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI