分类

链接

2016 年 12 月
 1234
567891011
12131415161718
19202122232425
262728293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > .NET > 正文
共享办公室出租
通过ILSpy反编译工具和ilasm修改.NET程序
.NET 暂无评论 阅读(1,916)

金庸群侠传X中,田青文、木婉清、王语嫣的点穴游戏忒难过了,所以上网摸索了一下修改点穴游戏难度的办法。(本人已经测试适用于PC版1.1.0.2和iOS版的1.1.0.2,低版本的应该都适用)
(由于无法上传图片,只能文字描述了,大家有问题可以留言)
我在IPAD上玩的,版本是1.1.0.2,将进度拷贝到同版本的PC版之后可以正常运行,于是我在PC版上修改,要修改的文件:金庸群侠传X_Data\Managed\Assembly-CSharp.dll(修改之前记得备份)

1:反编译工具ILSpy.exe:是个很不错的反编译软件,而且是免费了;

2:微软的工具ildasm.exe:这个是把DLL生成IL文件的一个软件,下载一个吧,我在C盘没找到;

3:电脑的工具ilasm.exe:这个是把IL文件重新生成DLL的功能,可以在C:\Windows\Microsoft.NET\Framework\v4.0.30319找到该软件;

步骤一:使用ILSpy.exe打开Assembly-CSharp.dll文件;查看其源代码的情况:

111.jpg

(在该文件下的第二个大括号下,找到TouchPoint,点开后找到onclick():void,选中后在右边的视图中可以找到蓝色的perfect、good、bad字样,其中perfect每次可以得到3分,good得到1分,bad得0分,我们就是要修改这3个数字)

222.jpg

(在该文件下的第二个大括号下,找到TouchUI,点开后找到startNewRound():void,选中后在右边的视图中可以找到float item = (float)Tools.GetRandom(0.3, 0.5),括号中这两个数字改大之后每个穴位之间的间隔时间变长,圈圈变小时间变长,就很容易点击了。

333.jpg

步骤二:接下来就是要使用ildasm.exe把DLL这个文件转化成IL文件

利用ildasm.exe打开DLL文件后,选中Assembly-CSharp.dll文件,在文件菜单中选择转储,将Assembly-CSharp.il文件存到某个指定文件夹里,得到Assembly-CSharp.il和Assembly-CSharp.res两个文件,有时也会有Assembly-CSharp.resource文件。

666.jpg

 

444.jpg

步骤三:我们可以打开Assembly-CSharp.il文件,里面有DLL生成的IL内容;

.il文件可以用记事本打开,但是打开后很多人就蒙圈了,汪洋大海啊,如何找到我们需要修改的代码所在的位置呢?

通过在ilspy软件中切换C和IL模式进行对比,会找到三行代码: IL_005c: ldc.i4.3、IL_00c4: ldc.i4.1、IL_00db: ldc.i4.0。

耐心点,我们就在il文件中找到这三个代码,修改为: IL_005c: ldc.i4.6、IL_00c4: ldc.i4.6、IL_00db: ldc.i4.6,(这样你每次点击,无论是perfect、good、bad,都可以得到6分。我试了改成90和9,结果后面会提示错误,我觉得改成6已经足够好了)

555.jpg

步骤四:同样的方法,在IL文件中找到IL_0089: ldc.r8 0.299999999、IL_0092: ldc.r8 0.5这两个代码,修改为IL_0089: ldc.r8 2、IL_0092: ldc.r8 4

步骤五:当修改完IL文件后要把它转化成DLL文件,打开DOS命令行进入到保存Assembly-CSharp.il的文件夹,然后输入命令(文件名一样的话,就拷贝下面的命令过去):c:\windows\microsoft.net\framework\v4.0.30319\ilasm.exe /dll/resource=Assembly-CSharp.res Assembly-CSharp.il

(其中"/dll/"这个前面要有一个空格,   .res文件要在.il文件前面,中间要有个空格)

 

ilasm用法:

 

ilasm text  按回车自动查找text4.il 文件并且编译成 text4.exe

或 ilasm text /dll 可以编译成 text.dll 文件(记得先删除原来的text4.dll)

 

步骤六:回车运行上面的命令,成功后后会生成一个新DLL文件(可以用ilspy重新打开这个修改完的dll文件,检查刚才修改的是否已经没问题),然后把它复制到:金庸群侠传X_Data\Managed文件夹下,覆盖原有的Assembly-CSharp.dll文件。再次运行游戏,去看看吧,点穴游戏简单多了,哈哈哈哈。

 

 

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:通过ILSpy反编译工具和ilasm修改.NET程序 | Bruce's Blog

发表评论

留言无头像?