通过ILSpy反编译工具和ilasm修改.NET程序
文章来源: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程序的更多相关文章
- ILSpy反编译工具的使用
以前一直使用reflector来查看.net类库的一些信息,不过,自2011年2月份开始,reflector就开始转向收费软件了,所以爱好免费软件的开发者们转而开发自己的反编译软件.于是ILspy就因 ...
- ILSpy反编译工具之C#反汇编
1.下载ILspy工具 https://github.com/icsharpcode/ILSpy#ilspy------- 注意: ILspy需要在电脑上安装.NET Framework 4.0. ...
- ILspy反编译工具
简介 ILspy是一个开源的.net反编译软件,使用十分方便. 开发原因 之所以开发ILspy是因为Red Gate宣布免费版的.NET Reflector(同样是反编译软件)将会在2011年2月停止 ...
- ILSPY反编译工具下载代替收费的Reflector工具
原文发布时间为:2011-10-10 -- 来源于本人的百度文章 [由搬家工具导入] ILSPY反编译工具下载 http://build.sharpdevelop.net/BuildArtefacts ...
- C#反编译工具ILSpy 反汇编
ILSpy反编译工具之C#反汇编 1.下载ILspy工具 https://github.com/icsharpcode/ILSpy#ilspy------- 注意: ILspy需要在电脑上安装.N ...
- 工欲善其事,必先利其器 软件工具开发关键词 protractor自动化测试工具 RegexBuddy正则 CodeSmith,LightSwitch:代码生成 CheatEngine:玩游戏修改内存值必备神器 ApkIDE:Android反编译工具 Reflector:反编译dll动态链接库
工欲善其事,必先利其器 本文版权归翟士丹(Stan Zhai)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利. 原文地址:http ...
- 反编译工具Reflector ILSpy
最近很长一段时间在为自己技术方便该如何做才会有新的长进而发愁,偶然,顿悟,决定通过反编译工具了解底层代码来进一步提升自己的能力. 于是有了周末宅在家里一天研究反编译工具. 不能浪费了一天的成果,至此, ...
- ILSpy,DLL反编译工具,学习与了解原理的好帮手
你是否一直苦于找到了好的dll却只知道怎么使用而不知道其原理. 你是否在使用一个dll的时候发现它在一些参数时报错了却没法解决. 你是否想成为一个优秀的.net开发,成为一个优秀的系统制造者. 那你需 ...
- .net程序反编译工具(ILSpy)
ILSpy是SharpDevelop小组的反编译工具,ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C#代码. PC官方版 C#反编译工具ilspy ...
随机推荐
- DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ | TRAINING A CLASSIFIER
你已经知道怎样定义神经网络,计算损失和更新网络权重.现在你可能会想, 那么,数据呢? 通常,当你需要解决有关图像.文本或音频数据的问题,你可以使用python标准库加载数据并转换为numpy arra ...
- mysql主从模型下如果保证主误删除数据,尽可能避免数据丢失方案
- gin框架中集成casbin-权限管理
概念 权限管理几乎是每个系统或者服务都会直接或者间接涉及的部分. 权限管理保障了资源(大部分时候就是数据)的安全, 权限管理一般都是和业务强关联, 每当有新的业务或者业务变化时, 不能将精力完全放在业 ...
- golang中的反射reflect详解
先重复一遍反射三定律: 1.反射可以将"接口类型变量"转换为"反射类型对象". 2.反射可以将"反射类型对象"转换为"接口类型变量 ...
- [WAF攻防]从WAF攻防角度重看sql注入
从WAF攻防角度重看sql注入 攻防都是在对抗中逐步提升的,所以如果想攻,且攻得明白,就必须对防有深刻的了解 sql注入的大体流程 Fuzz测试找到注入点 对注入点进行过滤检测,及WAF绕过 构建pa ...
- ansible roles实践——安装nginx
1.创建roles 在/etc/ansible/roles目录下 1.1 手动创建需要的目录 1.2 使用命令创建,用不到的目录可以创建为空目录,但不可以不创建. 创建目录[root@master] ...
- Understanding C++ Modules In C++20 (1)
Compiling evironment: linux (ubuntu 16.04)+ gcc-10.2. The Post will clarify and discuss what modules ...
- arduino物联网学习
arduino物联网学习 目录 arduino物联网学习 20200215 OLED屏幕使用教程 材料: 软件 代码注释 完整代码 Arduino IDE 开发 ESP-01S/ESP-01物联网实战 ...
- HTML Entry 源码分析
简介 从 HTML Entry 的诞生原因 -> 原理简述 -> 实际应用 -> 源码分析,带你全方位刨析 HTML Entry 框架. 序言 HTML Entry 这个词大家可能比 ...
- ApacheCN 大数据译文集(二) 20211206 更新
Hadoop3 大数据分析 零.前言 一.Hadoop 简介 二.大数据分析概述 三.MapReduce 大数据处理 四.基于 Python 和 Hadoop 的科学计算和大数据分析 五.基于 R 和 ...