首页
论坛
课程
招聘
[原创]新手向unity+xlua解密lua脚本
2020-2-14 15:21 9818

[原创]新手向unity+xlua解密lua脚本

2020-2-14 15:21
9818
  • 起因
在家呆着无聊,本着下个游戏练习练习技术,顺带打发无聊的时间,就开始了小白的探索之路。
  • 经过
打开lib文件夹下 ,游戏是unity + mono框架,开心!不过却发现特别的地方----libxlua.so!

而打开apk\assets\bin\Data\Managed文件夹下却没有发现关键的Assembly-CSharp.dll文件。
这可难倒我了,直接百度,在这篇博客给了我启发:https://www.cnblogs.com/eniac1946/p/7244400.html,先试试 Assembly.Load(byte[] rawAssembly)这个接口,看看有没有发现,至于实际上在哪里加载的,暂时就不管了,反正最终都要调用这个接口,那就直接在这个接口做文章。

加入代码后保存,替换安装包的dll,运行游戏,坐等剩余的dll dump出来。

居然是 关键的Assembly-CSharp.dll文件。不过怎么都是LUA相关的呢?那就试试搜索 luaL_loadbuffer方法试试,有两个,最终都会调用 xluaL_loadbuffer这个方法加载脚本,那就通过打印日志的方式,看看脚本在哪里调用了这个方法。

修改之后,怎么把 Assembly-CSharp.dll替换回去呢?那就是从哪dump出来的,就从那里替换回去。

运行游戏就可以看到打印的日志信息了。

剩下的就是在LoadFromCustomLoaders下写入dump的代码就可以了。

dump出来的代码居然是明文?没有经过其他的加密?
  • 结果
没有结果了,即使dump出来源码了,我试着实现秒杀等功能,然而还是没有实现我的目的,无奈只能放弃了,记录心得,以免忘记。



[2022冬季班]《安卓高级研修班(网课)》月薪两万班招生中~

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 12516
活跃值: 活跃值 (2177)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 活跃值 2020-2-14 18:54
2
0
正常,就和俺尝试修改三国杀一样,没效果
雪    币: 0
活跃值: 活跃值 (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
炒米肉松 活跃值 2020-9-29 17:22
3
0
现在很多unity都是云更新Lua代码的,你改了Lua之后MD5不一样咯,又去拉了代码下来。
雪    币: 623
活跃值: 活跃值 (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_时光丶老了少年 活跃值 2020-10-7 09:40
4
0
大佬,IDA中如何分析加密函数啊,也想解密il2cpp模式得资源
雪    币: 2886
活跃值: 活跃值 (3196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
爱我佳鑫 活跃值 2020-10-7 12:47
5
1
wx_时光丶老了少年 大佬,IDA中如何分析加密函数啊,也想解密il2cpp模式得资源
他逆向的是没有il2cpp的游戏, 经过il2cpp的游戏是没有Assembly-CSharp.dll保存在apk里的 只会存在一个libil2cpp.so文件 经过il2cpp的游戏逆向难度很高目前还没有很好的办法逆向
雪    币: 623
活跃值: 活跃值 (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_时光丶老了少年 活跃值 2020-10-7 13:13
6
0
不是吧,比如unity得il2cpp得,bundle+lua资源加密了,那如何去解密呐,难道不是IDA去分析解密函数嘛,还有别的方式嘛,我找人解密得时候,他们几分钟就弄好了,我也想学习学习哇
雪    币: 1376
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
暗月隐落 活跃值 2020-12-29 13:44
7
0

帖子真棒学习了

最后于 2021-12-22 14:15 被暗月隐落编辑 ,原因: 已过时效
游客
登录 | 注册 方可回帖
返回