首页 > 其他分享 >【逆向基础】九、dnSpy使用技巧随记

【逆向基础】九、dnSpy使用技巧随记

时间:2024-07-11 19:59:19浏览次数:19  
标签:逆向 函数 内存 程序 dnSpy 反汇编 断点 随记

一、dnSpy逆向工具的使用

1、反汇编适用范围:C#,.NET等语言编写的程序
2、工具的获取:dnSpy (ps:大家可自行去网页搜索下载最新版)
3、打开需要反汇编的程序,成功后出现如图所示的界面
在这里插入图片描述
4、dnSpy反汇编.NET程序后,可以像开发一样对目标程序进行调试,所以我们根据自己的喜好,设置对应的窗口,下面简单介绍窗口的作用

断点:调试过程中,用户设置的所有断点暂时;dnSpy允许我们对断点进行统一管理(添加,删除,使其失效等)
调用堆栈:程序运行到某一断时,在程序内存堆中的函数调用情况,包含了不断嵌套调用的上级函数,方便我们类函数的层面分析函数调用流程;
局部变量:程序运行到某一断时,会显示所有断点所在函数中,所有局部变量的当前值;方便我们分析从具体代码段层面函数具体处理逻辑;
内存:程序运行到某一断时,会显示所有断点所在函数中,具体变量中内存值;方便我们查看具体变量的内存变化
分析器:程序不需要运行(静态分析)时;可以通过分析器找到某一函数在哪里使用了,哪里被使用了;接口哪里被实现了,哪里被调用了,接口哪里被继承了等等;
搜索:在寻找分析切入点的阶段,使用搜索窗口中的功能,搜索自己认为时切入点的字符串,函数,接口等等;对于程序断下程序下时很重要;
在这里插入图片描述

二、通过dnSpy修改反汇编的程序

1、日常习惯,在编辑前,请先备份方法所在的文件后再进行编辑;
2、右键–》编辑方法–》(编辑自己需要的功能代码块)–》编译
在这里插入图片描述
在这里插入图片描述
3、在编译成功后,需要在点击文件 --》 保存模块;至此,再次跑程序时,就会应用我们修改后的代码了;
在这里插入图片描述

标签:逆向,函数,内存,程序,dnSpy,反汇编,断点,随记
From: https://blog.csdn.net/weixin_43821643/article/details/140315801

相关文章

  • 分析逆向案例十三——拍拍贷登录密码逆向和JS原型链
    网址:拍拍贷登陆页面,找登陆包,密码和用户名都进行了加密。直接参数搜索,一眼下面的第二条,直接点击进入加密位置打上断点分析,一个加密嵌套另一个加密。中间的e.md5好像是md5加密,打印一下看看 现在都记住了,这就是小写的md5加密。好了,解决了一个,进入encrypt函数。发现是一......
  • 某手创作服务 __NS_sig3 sig3 | js 逆向
    拿获取作品列表为例https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list?__NS_sig3=xxxxxxxxxxx搜索__NS_sig3发现__NS_sig3是一个异步回调生成的值s().call("$encode",[i,{suc:function(e){t(`__NS_sig3=${e}`)},err:function(t){e(t)}}])具体逻辑就是:......
  • 逆向内存加载Dex(动态加载class)
    逆向一个app,其核心算法是通过反射调用的,反编译软件中无法找到该类,并且也无法hook.Java.perform(function(){Java.enumerateClassLoaders({onMatch:function(loader){ try{ if(loader.loadClass("com.xxxxx")){ console.log("=============......
  • 逆向 | 检查系统强制签名检查是否开启
    逆向|检查系统强制签名检查是否开启存一份代码:#include<stdio.h>#include<Windows.h>#include<winternl.h>//#include<Ntstatus.h>#pragmacomment(lib,"ntdll.lib")intmain(){SYSTEM_CODEINTEGRITY_INFORMATIONinfo={0};info.Le......
  • 逆向 | 查窗口名代码
    逆向|查窗口名代码存一份,有时候窗口名FindWindow找不到可能是少了空格之类的#include<iostream>#include<Windows.h>usingnamespacestd;BOOLCALLBACKEnumChildProc(HWNDhwnd,LPARAMlParam){charszTitle[MAX_PATH]={0};charszClass[MAX_PATH]......
  • 工具|--LINQPad|--使用DnSpy调试LINQPad
    前言LINQPad本身就有调试功能,使用dnSpy调试LINQPad的代码,岂不是多此一举?其实主要是为了使用dnSpy调试LINQPad中使用到依赖dll的的底层代码,比如,在LINQPad中使用到了WPF的dll,使用dnSpy就可以调试到WPF的一些底层代码.并且,我尝试过,直接使用dnSpy加载LINQPad......
  • (四)JS逆向——中国观鸟网
    爬取观鸟网的信息 有sign值,timestamp和requestid,要看这些值是怎么生成的 载荷有加密的数据 返回值也经过加密 搜索requestid,找到了eval加密的代码,通过解密,就能找到生成这些值的代码段 代码格式化后,找到了这几个值的生成位置 requestid的生成是随机值,timestamp......
  • (三)JS逆向——爬取易车网
    爬取易车网的车辆配置信息 所以主要就是确定这几个是怎么生成的 搜索x-sign值的位置,打断点,找到构建x-sign的函数 注意,一定要看清是否是正确的url,x-timestamp明显是时间戳进入这个函数  x-sign值,是对这个字符串做md5,这个字符串由三部分构成,参数、时间戳、和一......
  • 随记--软件设计
    输入输出技术:调节cpu和内存之间数据传输的差距程序控制查询:无条件传送和程序查询效率低严重影响cpu利用率程序中断方式:cpu与数据传输是并行的cpu无需等待DMA方式:高速批量数据交换(向cpu总线裁决逻辑提出总线请求cpu执行完当前总线周期即可释放总线控制权)中断处理过......
  • 逆向通达信 x 逆向微信 x 逆向Qt
    本篇在博客园地址https://www.cnblogs.com/bbqzsl/p/18252961本篇内容包括:win32窗口嵌入QtUI。反斗玩转signal-slot。最后 通达信x微信xQt 做手术。 QtAlienWidget是一种广义的DirectUI。在UI技术中,DirectUI和AlienWidget的概念有所重叠,但具体实现和应用场景有所......