首页
社区
课程
招聘
[已解决] Unity+lua逆向求助 50.00雪花
发表于: 2021-4-8 23:26 8370

[已解决] Unity+lua逆向求助 50.00雪花

2021-4-8 23:26
8370

最近在研究一款小游戏的逆向,情况大概如下:

 

游戏采用Unity3D引擎+lua脚本,未加壳未加密,游戏的核心逻辑代码在assets/lua文件夹下的unity.3d文件中,使用AssetBundleExtractor已经找到了编写lua脚本的txt文档并进行了替换,但是反编译打包安装到模拟器后,打开游戏强制热更新,进入游戏后发现修改的代码没有生效,怀疑可能是热更新过程中将修改的代码替换掉了。(即使是从模拟器导出游戏,重新安装回去,打开也需要热更新)

 

目前的想法是:
1.游戏完成热更新后,替换模拟器中的文件。
目前初步认为,游戏安装包和数据应该在模拟器文件夹下面名为sdcard.vmdk的文件中。但是不会打开文件(按照网上的教程安装了Vmware workstation,研究了半天也没能成功)。求大神告知此种方式是否可行,以及方法。

 

2.绕过热更新
看了下代码,热更新的部分在Assembly-Csharp.dll中,但是不太会修改。求大神指导。

 

3.通过frida hook进行修改
由于核心代码在lua中,不知道是要hook Assembly-csharp中的lual_loadbuffer方法还是Lua文件中的方法(目前还在学frida hook 和 IDA,估计还要学一阵子……)也请大神指教!

 

以上是自己的初步想法,希望大神能够给予指导。如果方法安全可行,悬赏金额可翻10倍到15倍。

 

链接:5e0K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4j5$3N6E0c8q4x3&6P5f1&6d9j5g2)9J5k6q4c8z5e0V1q4*7K9o6u0q4z5r3k6%4
提取码:zomb


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2021-4-8 23:56 被chrishany编辑 ,原因: 链接修改为最新版apk
收藏
免费 1
支持
分享
最新回复 (16)
雪    币: 384
活跃值: (1509)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
lua代码的确是被热更新替换了,你可以这么做:
1. 安装游戏,打开并更新
2. adb shell到他的代码热更新目录/mnt/shell/emulated/0/Android/data/com.k9.game1060/files/zworld/lua
3. 替换你修改后的unity3d文件
这样就可以生效了
2021-4-9 10:00
0
雪    币: 7994
活跃值: (5244)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
清除游戏数据,打开charles抓包把1f7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4V1L8W2)9J5k6h3q4H3M7s2A6U0L8W2)9J5k6i4S2F1N6$3q4F1i4K6u0W2j5$3!0E0i4K6u0r3j5i4y4K6k6i4c8K6i4K6u0r3f1X3g2D9k6h3q4K6k6f1I4V1i4K6u0r3f1%4c8J5k6h3q4E0K9h3&6Y4b7i4y4K6k6i4c8K6i4K6u0r3L8s2g2S2i4K6u0r3k6$3q4E0k6g2)9#2k6X3I4#2j5g2)9J5k6i4g2F1K9i4c8&6x3$3c8Q4x3@1k6$3i4K6y4p5y4K6j5@1j5$3p5K6x3K6m8T1k6U0p5$3k6e0g2W2y4e0R3$3j5$3t1%4y4U0M7&6k6o6M7$3y4K6V1%4y4o6N6Q4c8e0S2Q4b7V1k6Q4z5e0W2Q4c8e0k6Q4z5f1c8Q4b7e0q4Q4c8e0k6Q4z5e0k6Q4z5o6N6Q4c8e0c8Q4b7V1u0Q4b7U0k6Q4c8e0k6Q4z5f1y4Q4b7f1y4Q4c8e0g2Q4z5f1y4Q4b7U0m8Q4c8e0k6Q4z5e0S2Q4b7e0m8Q4c8e0g2Q4b7U0m8Q4z5o6c8Q4c8e0k6Q4z5o6S2Q4z5e0m8Q4c8e0c8Q4b7V1c8Q4b7e0m8Q4c8e0c8Q4b7V1k6Q4b7f1g2Q4c8e0k6Q4z5e0c8Q4b7U0W2Q4c8e0g2Q4z5e0m8Q4z5p5g2Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0k6Q4z5e0k6Q4z5o6N6Q4c8e0c8Q4b7V1u0Q4b7U0k6Q4c8e0g2Q4b7U0m8Q4b7U0q4Q4c8e0S2Q4b7e0q4Q4z5p5y4Q4c8e0c8Q4b7V1q4Q4z5o6k6Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0W2Q4z5o6y4Q4b7V1c8Q4c8e0c8Q4b7U0S2Q4z5p5c8Q4c8e0N6Q4z5e0c8Q4b7e0S2Q4c8e0g2Q4z5o6k6Q4z5e0W2Q4c8e0c8Q4b7V1u0Q4b7e0y4Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0N6Q4b7f1g2Q4z5e0N6Q4c8e0k6Q4z5e0S2Q4b7f1k6Q4c8e0k6Q4b7f1k6Q4z5e0c8Q4c8e0S2Q4b7V1g2Q4z5o6y4Q4c8e0W2Q4z5o6m8Q4z5f1q4Q4c8e0N6Q4z5e0c8Q4b7e0S2Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0k6Q4z5e0k6Q4b7U0W2Q4c8e0k6Q4b7U0y4Q4z5e0g2Q4c8e0c8Q4b7V1q4Q4z5o6j5`.
2021-4-9 10:51
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
挥一挥衣袖 lua代码的确是被热更新替换了,你可以这么做: 1. 安装游戏,打开并更新 2. adb shell到他的代码热更新目录/mnt/shell/emulated/0/Android/data/com ...
打开游戏在等待进入界面,然后打开cmd,给模拟器最高权限之后,使用命令 cd /mnt/shell/emulated/0/Android/data/com.k9.game1060/files/zworld/lua
cmd提示No such file or directory  
是不是我在哪里操作的不对……
2021-4-9 21:48
0
雪    币: 384
活跃值: (1509)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
1. 你需要先找到adb工具的目录:
如果是Mumu模拟器:C:\Program Files\HBuilderX\plugins\launcher\tools\adbs\adb.exe
如果是夜神模拟器:C:\Program Files (x86)\Nox\bin\nox_adb.exe  (复制nox_adb.exe重命名成adb.exe)
其他模拟器下面也可以找到adb工具
2. 在adb.exe的目录下打开控制台
3. 执行./adb.exe shell,成功以后,控制台会出现这样:root@shamu:/ #
4. cd /mnt/shell/emulated/0/Android/data/com.k9.game1060/files/zworld/lua
5. 替换你修改后的.unity3d文件
6. 重进游戏,如果修改没问题,一切正常,否则游戏可能卡住或出现其他问题
2021-4-11 10:40
0
雪    币: 384
活跃值: (1509)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果是mumu模拟器,执行adb shell之前先执行:adb connect 127.0.0.1:7555
2021-4-11 10:41
0
雪    币: 4078
活跃值: (7516)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
从上面的兄弟的分析来看, 数据不是存放在sdcard里没有root权限的话那想改数据达到效果只能是用#2 楼的方法劫持网络或写hook去替换数据。或者直接自己写个私服。
2021-4-11 20:53
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
挥一挥衣袖 1. 你需要先找到adb工具的目录: 如果是Mumu模拟器:C:\Program Files\HBuilderX\plugins\launcher\tools\adbs\adb.exe 如果是夜神 ...
大佬,我试了下还是失败了…我的步骤是:
1、在夜神模拟器的目录下找到nox_adb.exe,复制之后粘贴在目录下改成adb.exe(目录下本来有一个adb.exe,我给删掉了)
2、然后启动模拟器,打开游戏
3、进入cmd,cd 到Nox\bin文件夹
4、运行adb shell命令
5、cd /mnt/shell/emulated/0/Android/data/com.k9.game1060/files/zworld/lua 但是结果还是No such file or directory
如果可以的话,大神可以给录个屏吗,感谢感谢!!!
2021-4-11 23:12
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
清除游戏数据,打开charles抓包把2beK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4V1L8W2)9J5k6h3q4H3M7s2A6U0L8W2)9J5k6i4S2F1N6$3q4F1i4K6u0W2j5$3!0E0i4K6u0r3j5i4y4K6k6i4c8K6i4K6u0r3f1X3g2D9k6h3q4K6k6f1I4V1i4K6u0r3f1%4c8J5k6h3q4E0K9h3&6Y4b7i4y4K6k6i4c8K6i4K6u0r3L8s2g2S2i4K6u0r3k6$3q4E0k6g2)9#2k6X3I4#2j5g2)9J5k6i4g2F1K9i4c8&6x3$3b7`. ...
感谢大神,我的查尔斯在安装远程证书的时候,打开网页没有自动下载证书,请问这个要怎么办啊?
2021-4-11 23:14
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
请教下大神,网络劫持是通过hook的手段吗?
2021-4-11 23:17
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
挥一挥衣袖 如果是mumu模拟器,执行adb shell之前先执行:adb connect 127.0.0.1:7555
请教下大神,网络劫持是通过hook的手段吗?
2021-4-11 23:17
0
雪    币: 7994
活跃值: (5244)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
12
chrishany 感谢大神,我的查尔斯在安装远程证书的时候,打开网页没有自动下载证书,请问这个要怎么办啊?
查尔斯这个问题我还是建议你百度,搞这个之前起码要把工具用会吧,提醒一下楼上那个路径不是一模一样的,不用adb那么麻烦,随便一个文件管理器打开android/data/包名,顺着就能找到了。条条大路通罗马
2021-4-12 20:19
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
查尔斯这个问题我还是建议你百度,搞这个之前起码要把工具用会吧,提醒一下楼上那个路径不是一模一样的,不用adb那么麻烦,随便一个文件管理器打开android/data/包名,顺着就能找到了。条条大路通罗 ...
虽然没有成功,还是谢谢了。
文件夹下替换文件已经确定不成功了,应该游戏加载过程中就把文件加载到了内存,之后替换没有任何作用
2021-4-22 16:10
0
雪    币: 7994
活跃值: (5244)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
14
chrishany 虽然没有成功,还是谢谢了。 文件夹下替换文件已经确定不成功了,应该游戏加载过程中就把文件加载到了内存,之后替换没有任何作用
所以我才叫你抓包,抓包有用,直接替换文件肯定不行啊,人家比对一下md5值又给你重新下回来了
2021-4-22 19:04
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
所以我才叫你抓包,抓包有用,直接替换文件肯定不行啊,人家比对一下md5值又给你重新下回来了
再请教下大神,现在游戏抓包,篡改数据还是只能用wpe吗?wpe团队好像很久以前就宣布不再更新了,网上也没有比较新的wpe教程了
2021-4-28 08:48
0
雪    币: 7994
活跃值: (5244)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
16
chrishany 再请教下大神,现在游戏抓包,篡改数据还是只能用wpe吗?wpe团队好像很久以前就宣布不再更新了,网上也没有比较新的wpe教程了
大多数都走的http,无论是fiddler,charles都好用。
2021-4-28 16:26
0
雪    币: 27
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
还没搞定吗 要提供思路 还是做好发你
2021-5-16 20:07
0
游客
登录 | 注册 方可回帖
返回