系统:PC
日期:2021-03-18
类别:编程开发
版本:v6.1.4
DnSpy中文版是一款可移植的调试器和.NET程序集编辑器,用于编辑和调试程序集,即使源代码不可用,可以帮助用户各种程序集进行反编译,以更好地了解它们的功能。
1、无需设置
由于它是一个便携式工具,它不需要您将其安装在目标计算机上,因为只需拆包其存档并启动可执行文件即可完全访问其功能。
您还可以从可移动存储介质(如USB闪存驱动器或外部HDD)运行它。此外,它不会修改系统中的注册表项,也不会在您的PC上生成其他文件或文件夹,但未经您的明确许可。
2、综合界面
dnSpy配备了一个时尚,全面的用户界面,包含广泛的有用功能,它们整齐地组织在主窗口的标准菜单中。
更重要的是,它具有标准配置窗口,您可以在其中调整各种组件的设置,如其反编译器,调试器或十六进制编辑器,但也可以修改显示或其他参数。
3、.NET反汇编程序
如果您需要一个高效的工具,可以通过为您提供各种有用的工具来帮助您反编译.NET程序集,您可以转到dnSpy。它配有一个反编译器,一个调试器,一个十六进制编辑器和一个程序集编辑器,让你以有效的方式处理程序集。
主窗口附带了一个Assembly Explorer窗格,您可以在其中访问所需程序集的树视图。您可以通过从计算机指定适当的文件或使用“从GAC打开”选项打开程序集,该选项为您提供全局程序集缓存中可用的条目列表。
4、.NET程序集的可靠反向工程工具
所有考虑的事情,dnSpy是一个方便的应用程序,使您能够以有效的方式逆向工程.NET程序集,为您提供广泛的有用工具,包括反编译器,程序集编辑器和调试器。它不需要安装,具有全面,平滑的用户界面,并为您提供了一个标准配置窗口,您可以在其中调整各种组件的设置。
1.我们需要准备dnSpy软件,这个软件度娘一下到处都有下载.
2.下载好之后,打开软件,左上角 文件→打开,选择游戏目录下的Assembly-Csharp.dll文件
例如: ..\ChildrenOfMorta\ChildrenOfMorta_Data\Managed
3.然后就可以看到左侧程序集资源管理器下出现相关内容
4.然后我们就可以参考上面链接中的帖子,来进行修改了.
例如:我们找到Zyklus.Stat下的StatStaticDataContainer下的AddXPDirect
找到需要修改的行
右键选择"编辑IL指令",将目标数值改为100即可
5.改好之后,直接保存退出.然后进入游戏,开爽.
dnspy中文版反编译后怎么导出?
下载dnspy软件,然后安装,一步到位,安装很简单的。然后打开软件,
如上图红色圈出位置,打开要反编译的可执行程序,exe、dll等。打开后,如下图。
我
点击左侧目录,可看到本程序的框架,右侧可看到每个框架构成的代码。如下图。
有点点击,如下图,选择编辑类,则可以直接修改该程序代码了。
修改完成后,点击右下角的编译,如果编译成功,则修改成功了,如果编译失败则是语法错误。需要重新修改。
修改完成后,且编译成功,那么就直接导出模板,如下图。替换原来的可执行文件exe,就可以了。
使用反编译工具dnspy动态修改代码教程:
1.打开dnspy
bin目录下有dnspy.exe和dnspy_x86.exe,若是32位程序则选择_x86.exe
2.点击文件-->打开,选择要调试的dll
3.点击调试-->启动调试,选择要调试的应用程序,一般为.exe;
或者点击调试-->附加到进程,选择正在运行的程序
4.选择要编辑的文件,右键
5.选择编辑类或者编辑方法,然后进行你想要的编辑,编辑完成后点击编译
建议选择编辑方法,因为这样在编译的时候只会编译这个方法单元,而不会编译这个类,若编辑整个类,编译的时候会报比较多的错误,需要修复
我在代码中添加了一句 int x=0; ,然后选择编译,但是可以看到下方报错了,这是由于没有引入该类所引用的依赖项导致
很多人都会卡在这一步,编译不过,报一些奇奇怪怪的错误,以下是我的一些经验:
上面这个错误是缺失dll,既红框圈出的Newtonsoft.dll,所以我们需要引入这个dll,菜单栏-->打开-->选择需要的dll,引入即可
如果还是报错,可以查看该dll引用的dll, 如果还有dll没引入,选择dll引入
或者看dnspy的提示,标红的代码就是出错的地方,可以尝试手动修改错误,就像是在VS上开发一样
有时候错误会很奇怪,明明有这个变量,却提示没有,这时可以对比下真正的源代码,你会发现,反编译后的代码是错的,会自动添加一些莫名其妙的逻辑,尤其是在使用匿名函数的时候,这个时候就需要我们手动删除这些错误的逻辑,是的没错,你不太可能用dnsny对应用程序做大量的修改,hook整个程序(如果有大神这么干了,请告诉我怎么做!) ,一般只是做一些外科式手术般的改动,既修改一些关键地方,做一些小的改动,那么就可以尝试删除一些错误的代码和无关的代码,使编译能通过!
6.保存
点击编译后如果没有错误了,则已经成功,但是没有任何提示
但实际上已经保存在右侧菜单栏中了,可以看到有两个同名的dll
点击菜单栏-->文件->保存模块或者全部保存,即可
7.然后使用新的dll替换老的dll,就可以测试了
评分及评论
不打广告。。真心觉得挺好
谢谢,值得一用!!!
就喜欢这种小体积,简单的软件。
我十分喜欢用它,确实方便!
非常好用的app
点击星星用来评分