zoukankan      html  css  js  c++  java
  • 用 dnSpy 反编译调试 .NET 程序

    dnSpy 官网下载:https://github.com/0xd4d/dnSpy/releases

    运行需要 .NET Framework 4 环境:https://dotnet.microsoft.com/download/visual-studio-sdks

    具体操作步骤如下所示:

    1.添加系统环境变量,COMPLUS_ZapDisable = 1
    2.如果需要调试 IIS 进程,可进入 C:WindowsSystem32inetsrv 目录执行 appcmd list wp 查看对应的应用程序池进程 ID
    3.打开 dnspy,调试 --> 附加到进程 --> 选择相应的进程 ID --> 附加
    4.调试 --> 窗口 --> 模块 --> 搜索要调试的程序集 --> 双击
    5.在程序集资源管理器找到要调试的类打开,打断点即可
    6.右键要修改的类文件 --> 编辑类/方法 --> 修改类 --> 编译
    7.文件 --> 保存模块 --> 选择要保存的路径 --> 保存
    8.将保存的重新编译的程序集替换到目标路径即可
    9.执行 iisreset(若为 IIS 应用)

    cmd 命令

    # 设置系统环境变量
    setx /M COMPLUS_ZapDisable 1

    获取 IIS 应用程序池进程 ID

    附加到进程并打断点

    修改代码,重新编译并保存模块

    关于异常捕捉中断

    调试过程中出现的异常,dnSpy 默认不会自动中断的,需要自行设置异常中断条件。比如:要捕捉 NullReferenceException,那么请打开异常设置窗口(调试->窗口->异常设置)进行设置,如下图所示:

    关于反编译修改代码后无法保存

    有时候会因为反编译后某些字段不规范的原因无法保存,这时候可以尝试使用 16 进制编辑保存

    会直接跳转到要光标部分位置,修改后 ctrl + s 保存即可

  • 相关阅读:
    BeanUtils.copyProperties的用法
    WinRAR下载
    安装Perl
    @Value设置默认值
    AutoHotkey
    解决springboot启动日志异常问题
    除以2换成位移操作(骚)
    IDEA生成doc文档生成chm文档
    VMWare虚拟机网络配置
    EOF小结
  • 原文地址:https://www.cnblogs.com/jhxxb/p/11180290.html
Copyright © 2011-2022 走看看