易得资源网
  • 首页
  • 活动资讯
  • 实用工具
  • 技术教程
  • 程序源码
  • 值得一看
首页 技术教程 正文

【初夏原创】【技术教程】一次关于unity–lua逆向的分析文章

2026-03-24 03:20 技术教程 阅读 2

导语:样本xlua,简单涉及到解密、hook等部分基础逆向。补足个人学习路上该路线的教程贴

本次样本算是一个比较标准的基础xlua样本,没有涉及到复杂的op还原,以及对dat等关键untiy文件的保护逆向。

简单介绍lua与untiy结合的背景,方便代码进行热更新从服务端拉取下发,unity做好相关承接即可也就是热更新

大部分逻辑将在lua中写明,unity基本为一个空壳

国内常见的是,我的老乡小腾腾公司的xlua,近年版本多为5.3的lua版本

简单执行支持流程dump出dll文件,拉进分析。不出意外没啥有用的东西,毕竟我们逆向方向不在这里

此类游戏,前面提到unityandlua,那么unity肯定有存在相关的注册函数来与lua建立联系就如同jni一样(java的native交互),这类函数一般都是固定的loadbuffer,可能根据不同框架函数名字略有区别比如本次的xlua他在ida中具体的实现为int32_t XLua_LuaDLL_Lua__xluaL_loadbuffer(intptr_t L, System_Byte_array buff, int32_t size, System_String_o name, const MethodInfo *method),最重要的参数是字节流buff,和脚本名字name。

关键函数拿下,直接手搓Frida的jshook脚本,核心代码逻辑为,hook该函数读写出buff的参数值,根据name作为文件名写入文件存储到我们的路径上

xlua存储后,我们发现常规的lua反编译使用unluac进行反编译失败,字节码验证不对。
在无进行op重写,以及魔改lua的情况下。我们针对lua框架只需进行字节码的一定修复,原为1B 4C 75 61 53 01 19 93
0D 0A 1A 0A 04 04,需将其改为1B 4C 75 61 53 00 19 93
0D 0A 1A 0A 04 04 04,然后再拖入jar进行反编译即可完成。

结合以上思路,编写Python、js两个Frida脚本将整个流程自动化,js复制hook字节流发送给Python端,Python端完成字节码验证、字节码修复、文件写入、拉起jar修复的完整流程即可获得下面的lua文件

获取完成后仅就只需进行正常的逆向改代码,以及hook替换字节流(配合c方向)

本次教程结束,逆向小白啥也不懂。部分名词有误的地方还请见谅。欢迎更多对uniy+lua、游戏引擎、游戏安全方面的有识之士加入初夏团队 到技术军团中找我交流[滑稽]

本篇文章,全篇只交代核心逻辑思路,不提供其他脚本代码。希望还未了解此方向的朋友带来一点微不足道的光芒[呵呵]

声明:本站所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明来自 易得资源网!
【技术教程】UE4引擎通用绘制矩阵寻找 第一期
« 上一篇 2026-03-24
【初夏原创】【技术教程】一次关于cocos加密jsc的解密
下一篇 » 2026-03-24

搜索

最新文章

  • WPS Office 极简版⭐无广告 完全本地 定制版⭐
    2026-04-02
  • 尼卡音乐⭕聚合四大音乐平台⭕支持无损下载
    2026-04-02
  • 【原创解锁】测亩王卫星测亩神器一键量地超精准
    2026-04-02
  • 【原创】柴柴打卡簿-习惯养成,社区挑战监督v1.0
    2026-04-02
  • 鱼泡水印相机真实时间地点水印工程记录超专业
    2026-04-02

热门文章

  • TOP1
    哔哩哔哩特别版内置四大模块 解番剧限制 解多种功能
    3天前 9
  • TOP2
    【安卓】视频下载器 1.3.21无限制视频下载⭕支持数千平台
    5天前 9
  • TOP3
    久久浏览器最极速轻巧浏览器极速上网
    5天前 9
  • TOP4
    【原创解锁】测亩王卫星测亩神器一键量地超精准
    2天前 7
  • TOP5
    【原创】柴柴打卡簿-习惯养成,社区挑战监督v1.0
    2天前 7

最新评论

  • emlog4 个月前
    这是系统生成的演示评论

本站部分资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站站长删除。