一、dnSpy逆向工具的使用
1、反汇编适用范围:C#,.NET等语言编写的程序
2、工具的获取:dnSpy (ps:大家可自行去网页搜索下载最新版)
3、打开需要反汇编的程序,成功后出现如图所示的界面
4、dnSpy反汇编.NET程序后,可以像开发一样对目标程序进行调试,所以我们根据自己的喜好,设置对应的窗口,下面简单介绍窗口的作用
断点:调试过程中,用户设置的所有断点暂时;dnSpy允许我们对断点进行统一管理(添加,删除,使其失效等)
调用堆栈:程序运行到某一断时,在程序内存堆中的函数调用情况,包含了不断嵌套调用的上级函数,方便我们类函数的层面分析函数调用流程;
局部变量:程序运行到某一断时,会显示所有断点所在函数中,所有局部变量的当前值;方便我们分析从具体代码段层面函数具体处理逻辑;
内存:程序运行到某一断时,会显示所有断点所在函数中,具体变量中内存值;方便我们查看具体变量的内存变化
分析器:程序不需要运行(静态分析)时;可以通过分析器找到某一函数在哪里使用了,哪里被使用了;接口哪里被实现了,哪里被调用了,接口哪里被继承了等等;
搜索:在寻找分析切入点的阶段,使用搜索窗口中的功能,搜索自己认为时切入点的字符串,函数,接口等等;对于程序断下程序下时很重要;
二、通过dnSpy修改反汇编的程序
1、日常习惯,在编辑前,请先备份方法所在的文件后再进行编辑;
2、右键–》编辑方法–》(编辑自己需要的功能代码块)–》编译
3、在编译成功后,需要在点击文件 --》 保存模块;至此,再次跑程序时,就会应用我们修改后的代码了;