遗憾迟香 发表于 2021-9-24 09:17

dnSpy修改unity不生效

本帖最后由 遗憾迟香 于 2021-9-24 09:29 编辑

上次尝试破解了一款unity开放世界游戏,加密il2cpp没能反编译,用CE修改了一下
https://www.52pojie.cn/thread-1506159-1-1.html
这次尝试反编译破解一款unity单机端游
代码貌似没有加密,dnSpy无乱码,AssetStudio能正常解包
游戏文件没有mono.dll,有mono-2.0-bdwgc.dll我用dnSpy反编译了Assembly-CSharp.dll,删除了一大堆代码,保存之后打开游戏没有任何变化
然后我找到了游戏菜单的代码,原本的esc打开菜单改成了f12,保存,进入游戏还是esc打开菜单
然后我试图在多个类多个方法中加上Application.Quit();强制退出游戏,保存之后任然无效
更奇怪的是,在游戏运行时修改Assembly-CSharp.dll竟然没有提示文件正在使用
删除Assembly-CSharp.dll游戏打开后灰屏,但无报错
怀疑游戏会自动还原Assembly-CSharp.dll,但我把Assembly-CSharp.dll再次拖入dnSpy,得到的是修改之后的代码
游戏界面没有数值,CE不知道如何下手
当鬼接近玩家时,手柄震动,并且播放"ルーヒが近づくScaryMusic"
当鬼看到玩家时,鬼会扑向玩家,播放"Screamスクリーム",玩家死亡,游戏结束,死亡动画为"dead"

不知道改成啥 发表于 2021-9-24 09:30

那你吧这个dll删了看看还能不能玩

遗憾迟香 发表于 2021-9-24 09:31

tanzhiwei 发表于 2021-9-24 09:30
那你吧这个dll删了看看还能不能玩

不能玩,进入游戏灰屏但没有任何报错

hy8051hy 发表于 2021-9-24 09:48

Mark,看反馈情况再说。。。

nevinhappy 发表于 2021-9-24 10:18

在分析AxureRP 10的时候也碰到了,修改.NET的DLL后,发现运行并没有生效。不太清楚是啥原因。
可以研究研究,会不会存在加载缓存或者啥,比如:初始运行保存了一份在其它(软件数据目录),然后加载路径是指向安装路径的,如果文件不存在会报错,但是文件存在,直接加载缓存目录里的那份?不清楚机制。
页: [1]
查看完整版本: dnSpy修改unity不生效