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

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

2020-2-14 15:21
2690
  • 起因
在家呆着无聊,本着下个游戏练习练习技术,顺带打发无聊的时间,就开始了小白的探索之路。
  • 经过
打开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出来源码了,我试着实现秒杀等功能,然而还是没有实现我的目的,无奈只能放弃了,记录心得,以免忘记。



看雪论坛2020激励机制:能力值、活跃值和雪币体系!会员积分、权限和会员发帖、回帖活跃程度关联!

收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 4906
活跃值: 活跃值 (240)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 活跃值 2020-2-14 18:54
2
0
正常,就和俺尝试修改三国杀一样,没效果
游客
登录 | 注册 方可回帖
返回