x64dbg零基础使用教程
原文网址:https://www.52pojie.cn/thread-762711-1-4.html
这篇文章主要是为.NET逆向但不会x64dbg的同学准备的,文章基本上零基础,会一点c#/vb.net就能看懂文章。
文章以visual studio 2017为参照,讲解如何像用vs调试.NET程序集一样使用x64dbg调试本机代码
x64dbg下载地址:https://github.com/x64dbg/x64dbg/releases
x64dbg基本操作:
1.步进
等于vs中的"逐语句"
vs图标:
x64dbg图标:
vs快捷键:
F11
x64快捷键:
F7
2.步过
等于vs中的"逐过程"
vs图标:
x64dbg图标:
vs快捷键:
F10
x64快捷键:
F8
3.运行到返回
等于vs中的"跳出"
vs图标:
x64dbg图标:
vs快捷键:
Shift+F11
x64快捷键:
Ctrl+F9
4.运行
等于vs中的"启动"/"继续"
vs图标:
x64dbg图标:
vs快捷键:
F5
x64dbg快捷键:
F9
5.断点
在想断下的指令上按下对应快捷键即可vs图标:
启用:
禁用:
x64dbg图标:
启用:
禁用:
vs快捷键:
F9
x64快捷键:
F2
x64dbg入门操作:
1.设置符号文件保存路径:
Q:符号文件是什么?A:*.pdb文件,还不知道就百度吧。。。Q:为什么要设置?
A:符号文件通常很大,不然x64dbg默认保存到自身目录下,导致升级x64dbg,迁移x64dbg到其它位置极为不便
这样就设置好了
2.使用符号文件:
很多情况下,x64dbg不会自动加载符号文件(不知道为什么,可能是防止调试时太卡吧,vs加载过多符号文件就会卡顿)
这时候就需要我们手动加载了
x64dbg没有加载选项,可以点"下载此模块的符号信息"(要加载所有符号文件可以点"下载所有模块的符号信息")
如果符号文件缓存文件夹中已经有了这个符号文件,x64dbg直接从本地加载,否则从符号文件服务器上下载并加载
右边显示了dll自身导出的函数和符号文件导出的函数,左键单击这里的函数,按下F2,是可以下断点的
3.安装插件:
对于.NET逆向,一般只要装一个反调试器检测的插件就行了
我在用@xjun 的SharpOD:https://www.52pojie.cn/thread-628837-1-1.html
不是打广告,是这个插件真的很好用,调试体验极佳(用作者的推荐设置)
不扯了,说下怎么安装
把压缩包里面的*.dp*文件拖入对应的文件夹(其实这些*.dp*也是*.dll文件,只不过改了个后缀名让x64dbg知道这里有个插件)
比如装32位x64dbg的插件,就将*.dp32拖入x64dbg\x32\plugins
x64dbg实际操作:
1.查看函数调用时的参数:
首先你需要明白什么是调用约定,这些需要百度
现在我使用32位x64dbg调试一个unpackme,在mscorwks.dll的AssemblyNative::LoadImage处下了断点,按下F9,x64dbg在此函数入口处断下了
在符号窗口可以看到这个函数的调用约定是fastcall
我们回到CPU,把调用约定改成fastcall
这里的1,2,3就是代表了第1,2,3个参数
我们刚才已经看到了,这个函数第一个参数是"Array<unsigned char> *",表示指向了一个字节数组,这里的"unsigned char"等同于C#/VB.NET中的"byte",而不是C#/VB.NET中的"char"
2.转储内存到文件:
我们在内存窗口中按下Ctrl+G,输入0312BBAC
成功跳转到了一个内存区域,储存了"Array<unsigned char>"
我们点一下4D或者M
再将右边滚动条滚到底部,按住Shift,在左键单机一下最后一个字节
右键,二进制编辑->保存到文件
这样,你就把一个.NET程序集人工Dump下来了
dnSpy打开看看,是个没啥用的程序集(这个仅仅是演示,AssemblyNative::LoadImage断点有时是很有用的)
应该没什么要写的了,对于.NET逆向这些完全足够了
如果有什么要补充的,我还会再编辑这个帖子,并且更新标题上的日期,新手可以收藏这个帖子
x64dbg零基础使用教程相关推荐
- ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course
ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course! 教程大小解压后:4.96G 语言:英语+中英文字幕(机译)时长 ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- Wireshark零基础使用教程(超详细)
「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「专栏简介」:此文章已录入专栏<网络安全快速入门> Wiresha ...
- 下载python教程-零基础Python教程全集下载.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > Python 零基础Python教程全集下载.pdf3页 本文档 ...
- sql数据库教程百度云_【推荐】零基础水彩画入门教程|零基础水彩教程百度云...
零基础水彩画入门教程|零基础水彩教程百度云! 照着教程画却总是画不好,这些水彩技法你真的学会了吗? 盲目地照着葫芦画瓢,不懂控制确实很难学会,可以关注一下公众号:每日学绘画,可以领取水彩电子书和全套视 ...
- 视频教程-Python零基础入门教程-Python
Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...
- SEO零基础入门教程(外链的发布和软文编写)
seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...
- 九宫怎么排列和使用_剪映零基础入门教程第三十七篇:一学就会系列之九宫格小程序配音...
很多玩儿抖音的朋友都看过九宫格视频,但是并不是每个玩抖音的人都会制作这个九宫格视频,实际这个需要借助小工具来帮忙,而常用抖音的朋友们会对剪映更加熟悉一些,且九宫格视频在剪映内的制作方式则比较简单.那么 ...
- html怎么在线安装,web前端零基础学习教程,如何安装HTML编辑器!
原标题:web前端零基础学习教程,如何安装HTML编辑器! HTML 编辑器推荐: 可以使用专业的 HTML 编辑器来编辑 HTML,菜鸟教程为大家推荐几款常用的编辑器: Notepad++:http ...
最新文章
- Web 开发最有用的 jQuery 插件集锦
- v8-su-root
- Bootstrap + Thymeleaf——预约维修前端页面设计(UI + JS数据校验 + JSON序列化 + AJAX提交)DEMO
- Mybatis SQL拦截器实现
- kubernetes实践之运行aspnetcore webapi微服务
- javascript模块_JavaScript中的模块
- 手机firebug查看网页代码 How to View Website Source Codes on iPad / iPhone
- Magento教程 6:商店设定与参数
- jdk8 接口新特性
- c语言调用子程序的方式,哪位师傅知道51单片机怎样编写子程序?C语言的。在主程序里调...
- Struts2零配置属性详解(2)
- [转载] Python中numpy.clip();numpy.fabs()的用法;以及math.pow()的说明
- GitHub 使用教程图文详解(转)
- The best programmers are the quickest to Google
- CentOS 6.7编写Shell脚本实现简单跳板机功能
- Winform调用风云二号卫星云图(更改后版本)
- 【转】强大的矩阵奇异值分解(SVD)及其应用
- js中的splice方法使用,删除数组中的最大最小值
- iview中Cascader组件的坑
- 营收增速环比放缓 Okta高歌猛进的那股劲去哪了?