dnSpy_dnspy官网

dnSpy_dnspy官网https://github.com/0xd4d/dnSpy下载压缩包之后,解压,发现目录里面有3个exe文件需要用管理员运行dnSpy.exe,然后打开exe文件,设置好断点,然后start使

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

https://github.com/0xd4d/dnSpy

下载压缩包之后,解压,发现目录里面有3个exe文件

dnSpy_dnspy官网

 

需要用管理员运行dnSpy.exe,然后打开exe文件,设置好断点,然后start

 

使用技巧

edit method

在左侧的导航栏,找到某个类里面的某个方法,右键,会有2个edit method

1. 白色的是重命名方法,会同步修改reference处的引用

2. 绿色的是修改方法体,也就是方法里面的内容

 

analyze

找到某一个方法,右键analyze

dnSpy_dnspy官网

 

 show compiler generated code

这个可以用来查看async关键字生成的state machine的代码

dnSpy_dnspy官网

 

 

右键菜单的Merge with Assembly

假如你打开了HearthBuddy的exe,现在想要引用另外一个dll文件,那就可以直接merge with assembly。另外一个dll文件里面的类,会被直接导入到HearthBuddy.exe里面

 

Reference another assembly

https://github.com/0xd4d/dnSpy/issues/357

应该用第一个图标,浏览

dnSpy_dnspy官网

 

不支持async和await

关于async的反编译

https://github.com/0xd4d/dnSpy/issues/687#issuecomment-354990427

await is just synthetic sugar for what you see in the decompiled code. Usually ILSpy converts this back to what a programmer would normally write, but the version that dnSpy uses didn’t have that implemented yet. You can find all implemented language features for the latest version of ILSpy here, but keep in mind that dnSpy still uses ILSpy 2.x, not 3.x.

 

 

 取消反编译async methods

dnSpy_dnspy官网

// Triton.Bot.Logic.Bots.DefaultBot.DefaultBot
// Token: 0x060013A3 RID: 5027 RVA: 0x000BD93C File Offset: 0x000BBB3C
private Task method_49(TournamentScene tournamentScene_0)
{
    DefaultBot.Struct88 @struct;
    @struct.defaultBot_0 = this;
    @struct.tournamentScene_0 = tournamentScene_0;
    @struct.asyncTaskMethodBuilder_0 = AsyncTaskMethodBuilder.Create();
    @struct.int_0 = -1;
    AsyncTaskMethodBuilder asyncTaskMethodBuilder_ = @struct.asyncTaskMethodBuilder_0;
    asyncTaskMethodBuilder_.Start<DefaultBot.Struct88>(ref @struct);
    return @struct.asyncTaskMethodBuilder_0.Task;
}

找到Struct88的定义,然后找到里面的MoveNext方法,右键edit method body

然后找到https://www.cnblogs.com/chucklu/p/11184577.html 263行以及672行,进行替换。

 

Search in framework assemblies

dnSpy_dnspy官网

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168379.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java开发手册之并发处理

    Java开发手册之并发处理Java开发手册之并发处理

    2022年4月22日
    45
  • bat命令编写大全

    bat命令编写大全1echo和@ @           #关闭单行回显 echooff       #从下一行开始关闭回显 @echooff       #从本行开始关闭回显。一般批处理第一行都是这个 echoon        #从下一行开始打开回显 

    2022年4月19日
    53
  • oracle隐式转换_oracle查看游标数量

    oracle隐式转换_oracle查看游标数量原文地址:http://blog.itpub.net/29324876/viewspace-1096741/1     Oracle 隐式转换Oracle中对不同类型的处理具有显式类型转换(Explicit)和隐式类型转换(Implicit)两种方式,对于显式类型转换,我们是可控的,但是对于隐式类型转换,当然不建议使用,因为很难控制,有不少缺点,但是我们很难避免

    2022年10月11日
    3
  • PyCharm激活码永久有效PyCharm2021.3.2激活码教程-持续更新,一步到位

    PyCharm激活码永久有效PyCharm2021.3.2激活码教程-持续更新,一步到位PyCharm激活码永久有效2021.3.2激活码教程-Windows版永久激活-持续更新,Idea激活码2021.3.2成功激活

    2022年6月19日
    110
  • pycharm激活码2021年(JetBrains全家桶)「建议收藏」

    (pycharm激活码2021年)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S3…

    2022年3月26日
    69
  • Linux文件的压缩和解压命令tar

    Linux文件的压缩和解压命令tar压缩文件扩展名打包并压缩文件tar的参数语法:tar[参数]压缩包名一个或多被打包的文件功能作用压缩一个或多个文件-c必须,创建一个压缩包-v可选,显示压缩的详细信息-z压缩,如果没有则只是打包-f<压缩文件名>后面必须指定文件名操作演示:定位于root目录,将当前目录下的Hello.java和Hello….

    2022年5月17日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号