通过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 ...
随机推荐
- unity3d之public变量引发错误
public变量引发错误 在vs ide中怎么更改也无效 后来发现public里面的值一直不改变,手动改之.
- Cesium入门13 - Extras - 附加内容
Cesium入门13 - Extras - 附加内容 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 剩下的代码 ...
- Linux 系统conda环境,pip文件的导出和安装。
/** * 注意:1.在当前的Linux系统中,先生成yaml和requirement.txt文件.通过ssh命令连接到另一台Linux实例.需要先在新的Linux实例上安装 conda.然后再将 y ...
- 洛谷P2240 【深基12.例1】部分背包问题(经典模板)
首先应该注意几个关键信息:装走尽多的金币.所有金币可以随意分割并且分割后金币的价值比不变; 我们可以抽象成一个买东西的场景,给你一定数目的钱,让你在这些钱内尽量在超市买更多的小零食,这就牵扯到了一个性 ...
- Java8特性大全(最新版)
一.序言 Java8 是一个里程碑式的版本,凭借如下新特性,让人对其赞不绝口. Lambda 表达式给代码构建带来了全新的风格和能力: Steam API 丰富了集合操作,拓展了集合的能力: 新日期时 ...
- JS实现new关键字的功能
一.前言 众所周知:没有对象怎么办?那就new一个! 那么在JS中,当我们new一个对象的时候,这个new关键字内部都干了什么呢? 现在我们就来剖析一下原生JS中new关键字内部的工作原理. 二.原始 ...
- Linux Shell脚本攻略复习
1. 打开终端后的提示符中,$表示普通用户,#表示管理员用户root,root是linux系统中权限最高的用户. 2. shell脚本通常是一个#!起始的文本文件,其中#!位于解释器路径之前. 例如: ...
- MinIO简介和java Api的使用
本文出自jvm123.com-java技术分享站:http://jvm123.com/2020/02/minio-jian-jie-java-api.html MinIO是一个对象存储服务,非常轻量, ...
- mysql表查询、多表查询(增强查询的使用)子查询、合并查询,外连接,mysql5种约束,自增长
一.查询加强 1.在mysql中,日期类型可以直接比较,需要注意格式 2.%:表示0到多个字符, _:表示单个字符 exp:显示第二个字符为大写O的所有员工的姓名和工资 select name fr ...
- 计算机辅助数据绘图(matlab\python\js)
1. matlab绘图 官方说明:https://ww2.mathworks.cn/help/matlab/creating_plots/types-of-matlab-plots.html 基本图形 ...