文章来源:https://blog.peos.cn/2016/12/26/ilspy-ilasm-ildasm-net.html

金庸群侠传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文件;查看其源代码的情况:

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

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

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

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

步骤三:我们可以打开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已经足够好了)

步骤四:同样的方法,在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文件。再次运行游戏,去看看吧,点穴游戏简单多了,哈哈哈哈。

金庸群侠传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文件;查看其源代码的情况:

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

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

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

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

步骤三:我们可以打开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已经足够好了)

步骤四:同样的方法,在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文件。再次运行游戏,去看看吧,点穴游戏简单多了,哈哈哈哈。

通过ILSpy反编译工具和ilasm修改.NET程序的更多相关文章

  1. ILSpy反编译工具的使用

    以前一直使用reflector来查看.net类库的一些信息,不过,自2011年2月份开始,reflector就开始转向收费软件了,所以爱好免费软件的开发者们转而开发自己的反编译软件.于是ILspy就因 ...

  2. ILSpy反编译工具之C#反汇编

    1.下载ILspy工具 https://github.com/icsharpcode/ILSpy#ilspy------- 注意: ILspy需要在电脑上安装.NET Framework 4.0.   ...

  3. ILspy反编译工具

    简介 ILspy是一个开源的.net反编译软件,使用十分方便. 开发原因 之所以开发ILspy是因为Red Gate宣布免费版的.NET Reflector(同样是反编译软件)将会在2011年2月停止 ...

  4. ILSPY反编译工具下载代替收费的Reflector工具

    原文发布时间为:2011-10-10 -- 来源于本人的百度文章 [由搬家工具导入] ILSPY反编译工具下载 http://build.sharpdevelop.net/BuildArtefacts ...

  5. C#反编译工具ILSpy 反汇编

    ILSpy反编译工具之C#反汇编   1.下载ILspy工具 https://github.com/icsharpcode/ILSpy#ilspy------- 注意: ILspy需要在电脑上安装.N ...

  6. 工欲善其事,必先利其器 软件工具开发关键词 protractor自动化测试工具 RegexBuddy正则 CodeSmith,LightSwitch:代码生成 CheatEngine:玩游戏修改内存值必备神器 ApkIDE:Android反编译工具 Reflector:反编译dll动态链接库

    工欲善其事,必先利其器 本文版权归翟士丹(Stan Zhai)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利. 原文地址:http ...

  7. 反编译工具Reflector ILSpy

    最近很长一段时间在为自己技术方便该如何做才会有新的长进而发愁,偶然,顿悟,决定通过反编译工具了解底层代码来进一步提升自己的能力. 于是有了周末宅在家里一天研究反编译工具. 不能浪费了一天的成果,至此, ...

  8. ILSpy,DLL反编译工具,学习与了解原理的好帮手

    你是否一直苦于找到了好的dll却只知道怎么使用而不知道其原理. 你是否在使用一个dll的时候发现它在一些参数时报错了却没法解决. 你是否想成为一个优秀的.net开发,成为一个优秀的系统制造者. 那你需 ...

  9. .net程序反编译工具(ILSpy)

    ILSpy是SharpDevelop小组的反编译工具,ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C#代码. PC官方版 C#反编译工具ilspy ...

随机推荐

  1. rpc基础讲解

    什么是RPC 本地过程调用 远程过程调用带来的3个问题 RPC的调用过程 RPC的具体过程如下 总结 RPC.HTTP.Restful之间的区别 通过httpserver实现rpc 首先一点需要明确: ...

  2. gin中设置和获取cookie

    package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { router := ...

  3. 只要一行代码,实现五种 CSS 经典布局

    常用的页面布局,其实就那么几个.下面我会介绍5个经典布局,只要掌握了它们,就能应对绝大多数常规页面. 这几个布局都是自适应的,自动适配桌面设备和移动设备.代码实现很简单,核心代码只有一行,有很大的学习 ...

  4. linux可用内存判断

    free是完全没有占用的空闲内存,Available 减 free是操作系统为了优化运行速度拿来调用的内存, 程序需要的话操作系统会进行释放.所以一般看Available即可. free+buffer ...

  5. Linux定时执行.sh脚本

    因为测试ffmpeg推流用flv方式的话没有做自动断流,所以要先用.sh脚本来执行关流,降低CPU和其他资源占用 首先编写.sh文件 #! /bin/bash echo "kill ffmp ...

  6. Spring源码-IOC部分-自定义IOC容器及Bean解析注册【4】

    实验环境:spring-framework-5.0.2.jdk8.gradle4.3.1 Spring源码-IOC部分-容器简介[1] Spring源码-IOC部分-容器初始化过程[2] Spring ...

  7. 【第十四期】高德go面经

    自我介绍 选一个比较熟悉的项目讲讲 筛选日志的时候,日志格式是不一样的,你们是如何处理的? 处理日志的时候如果日志量比较大会堆积吗?怎么处理的? 日志落盘到机器上,是如何采集的? 采集服务有问题的话可 ...

  8. nginx103

    user  nobody;worker_processes  1;error_log  /home/logs/error.log  info;#pid        logs/nginx.pid;ev ...

  9. Android Adapter基本理解

    感谢大佬:https://blog.csdn.net/l799069596/article/details/47301711 Android Adapter基本理解: 我的理解是: 1.一个有许多ge ...

  10. Linux下Wordpress忘记密码后的解决方法

    进入Wordpress的数据库,找到wp_users表,使用MD5('你的密码')函数添加密码 示例: 修改admin的密码为123456 UPDATE wp_users SET user_pass= ...