x64dbg的安装与配置

x64dbg官网地址:https://x64dbg.com/#start

x64dbg界面介绍

1.反汇编窗口

这个位置显示的是需要分析的程序的反汇编代码。在第一个区域的最左侧例如“7712EAA3”这一列就是内存地址区域,接着“E8 07”就是汇编指令的opcode,“jmp xxxxxxxxx”这个区域就是汇编代码区,最后有一个空白的地方,我们可以在这个位置输入一些注释。

2.寄存器窗口

这里显示的是当前所调试程序的寄存器信息。

3.数据窗口

这里一般查看的是内存地址的内容。最左边是地址,接着是对应地址的十六进制数据,最右侧是十六进制对应的ASCII码。

4.堆栈窗口

显示一些堆栈的信息。

基本调试方法

首先我们了解一下一些基本的操作指令。
F2:设置断点。(可以简单理解为暂停)
F4:运行到光标处
F7:单步步入。(遇到call指令,进入call函数的实现处继续执行汇编指令)
F8:单步步过。(遇到call指令,执行call函数,之后接着执行call指令的下一条指令)
F9:运行程序(如果没有碰到断点,程序会一直执行到结束。)

Ctrl+F9: 执行到函数返回处,用于跳出函数实现

Alt+F9:执行到用户代码,用于快速跳出系统函数

Ctrl+G:输入十六进制地址,快速定位到该地址处

搜索字符串

修改后保存成EXE

文件->补丁(ctrl+P)

修补文件

自己输入文件名加.exe后缀

命令支持

格式

命令 arg1 , arg2 , argN

寄存器

所有大小的寄存器都可以用作变量

内存读取

[addr]              读取DWORD / QWORD

n:[addr]           从addr开始读取n个字节

seg:[addr]       段寄存器加偏移读取DWORD / QWORD        seg可以gsescsfsdsss

byte:[addr]      读取BYTE

word:[addr]     读取word

dword:[addr]    读取dword

qword:[addr]    读取qword

字节/字/双字/四字/指针(ptr)
ReadByte,Byte,byte(addr):从 addr 读取一个字节,并返回该值。
ReadWord,Word,word(addr):从 addr 读取一个字(2字节),并返回该值。
ReadDword,Dword,dword(addr):从 addr 读取双字(4字节),并返回该值。
ReadQword,Qword,qword(addr):从 addr 读取四字(8字节),并返回该值(仅用于x64)。
ReadPtr,ReadPointer,ptr,Pointer,pointer(addr):从 addr 读取一个指针(4/8 字节),并返回该值。

数字

默认情况下,所有数字都解释为十六进制!如果要指定,可以x0x作为前缀。十进制数可以通过在数字前加点号来使用.123=7B

模块数据

键入GetProcAddress,它将自动解析为函数的实际地址。要明确定义从哪个模块加载API,请使用:[module].dll:[api][module]:[api]。当[module]为空字符串时:GetProcAddress,将使用CPU中当前选择的模块。

加载的模块基地

如果您要访问加载模块的基地址,你可以写:[module]:0[module]:base[module]:imagebase[module]:header

RVA /文件偏移量

如果要访问模块RVA,则可以写[module]:0+[rva],也可以写[module]:$[rva]。如果要将文件偏移量转换为VA,可以使用[module]:#[offset]。例如,当[module]为空字符串时,将使用CPU中当前选择的模块

模块的入口点

要访问一个模块的入口点,你可以写[module]:entry[module]:oep[module]:ep。请注意,当有名称为的导出时entryoep否则ep将返回这些地址

表达式

调试器允许使用基本表达式。只需在命令窗口中键入一个表达式,结果就会显示在控制台中。除了计算之外,它还允许使用类似C的语法快速更改变量

  1. 括号(1+2)[1+6]比其他操作优先。
  2. 一元减/二进制非/逻辑非:(-1负1),~1(二进制非1),!0(逻辑非0)。
  3. 乘法/除法:(2*3常规乘法),2`3(得到乘法的高分),6/3(常规除法),5%3(除法的模/余数)。
  4. 加法/减法:(1+3加法),5-2(减法)。
  5. 左/右移位/旋转:(1<<2向左移位,shl表示无符号,sal表示有符号),10>>1(向右移位,shl表示无符号,sal表示有符号),1<<<2(向左旋转),1>>>2(向右旋转)。
  6. 小(相等)/大(等于)4<103>61<=26>=7(如果真解析为1,0,如果假)。
  7. 等于/不等于1==12!=6(如果为true,则解析为1;如果为false,则解析为0)。
  8. 二进制和:(12&2常规二进制和)。
  9. 二进制异或:(2^1常规二进制异或)。
  10. 二进制或:(2|8常规二进制或)。
  11. 逻辑和:(0&&3如果为true,则解析为1;如果为false,则解析为0)。
  12. 逻辑或:(0||3如果为true,则解析为1;如果为false,则解析为0)。
  13. 逻辑含义:(0->1如果为true,则解析为1;如果为false,则解析为0)

处理信息

  • peb() :获取PEB地址。
  • teb() :获取TEB地址。
  • tid() :获取当前线程ID

插件

stringsx64dbg        字符串搜索

    x64dbgApiBreak        API断点

    xAnalyzer                   分析

    SharpOD x64              反调试

X64Dbg使用教程相关推荐

  1. x64dbg零基础使用教程

    原文网址:https://www.52pojie.cn/thread-762711-1-4.html 这篇文章主要是为.NET逆向但不会x64dbg的同学准备的,文章基本上零基础,会一点c#/vb.n ...

  2. x64dbg破解一个简单的Demo教程

    源码分析 首先需要破解的程序源码 #include <windows.h> #include <stdio.h> #include <stdlib.h> #incl ...

  3. x64dbg 修改为dll_X64Dbg使用教程

    内存读取 [addr]              读取DWORD / QWORD n:[addr]           从addr开始读取n个字节 seg:[addr]       段寄存器加偏移读取 ...

  4. 【逆向工具】使用x64dbg+spy去除WinRAR5.40(64位)广告弹框

    1 学习目标 WinRAR5.40(64位)的弹框广告去除,由于我的系统为x64版本,所以安装了WinRAR(x64)版本. OD无法调试64位的程序,可以让我熟悉x64dbg进行调试的界面. 其次是 ...

  5. [x64dbg] 实战01 - 参数打印/修改参数内容(条件断点、命令、脚本)

    文章目录 导读 参数打印/修改参数 - 界面方式 参数打印 - 日志参数(红色) 修改参数 - 命令参数(绿色) 参数打印/修改参数 - 脚本方式 参考资料 导读 x64dbg是小编目前用的最多的wi ...

  6. x64dgb安装插件教程

    x64dgb插件官网:https://github.com/x64dbg/x64dbg/wiki/Plugins 通过安装ScyllaHide说明步骤. 下载压缩包 按着安装包位置,将其内容复制放至相 ...

  7. 易语言64位端游内存封包逆向教程介绍---传奇4实战(易全网首套)

    易语言是否支持64位游戏内存或者注入呢?当然是支持的.下面内容教大家如何用易语言 写内存和封包辅助. 技术声明:本教程只能用于计算机技术研究,不做其他用途,如果有疑问,可以联系我. 复习位内存汇编基础 ...

  8. 【逆向工程】x64dbg逆向扫雷及QT编写游戏辅助

    目标制作游戏辅助,实现扫雷一键通关等各种功能 最终效果 涉及知识 模拟菜单点击和修改旗子数量 一键扫雷功能实现 网上的X64dbg新手入门的教程很少,因为自己也是个新手菜狗并且直接跳过了OD用的X64 ...

  9. Windbg/x64dbg/OllyDbg调试器简介

    原文链接: https://blog.csdn.net/libaineu2004/article/details/104081676 一.Windbg Windbg是微软开发的一套调试器中的组件.Wi ...

最新文章

  1. Asp.Net中跳转页面有那几种方法
  2. mysql,int(5)、int(10)啥区别联系
  3. 30种优化查询速度的方法
  4. Python:lambda表达式的两种应用场景
  5. 牛客 216 C 小K的疑惑
  6. quartus状态机生成_生成器作为(快速失败)状态机
  7. 软件测试也需要推广?!
  8. Laravel 5 的 Simple Captcha 包
  9. makefile--嵌套执行(四)
  10. directx修复工具win7_win7提示explorer.exe应用程序错误的解决方法
  11. 201671010135 《面向对象程序设计课程学习进度条》
  12. qpython能使用json吗l_现在还能使用土墙吗?
  13. 软件测试--面试时怎么介绍前公司的项目经验
  14. ORA-01017 ORA-02063: preceding 2 lines from SQLEMR
  15. android 高光动画,分享AirDroid高光时刻:它是如何使我高效工作和生活的?
  16. Hadoop中的slaves文件
  17. 《黑客与画家》读书笔记(六)
  18. 标准机构发布物联网安全测试指南
  19. 练习4-7 求e的近似值 (15分)
  20. 让线程按顺序执行8种方法(转载)

热门文章

  1. 计算机课给别人交作业检讨书,没交作业检讨书500字范文
  2. Java8 将List转换为用逗号隔开的字符串
  3. mysql的real类型_MSSQL数据类型-浮点数据类型 (real、float、decimal、numeric)
  4. 搭建一个apache+php+mysql的网站
  5. 基于MFC平台的对话框软件模型
  6. 西南科技大学 Python程序设计 摩斯密码解密
  7. 由如日中天到黯然失色,花甲之年的长虹还能重换新生?
  8. mplayer linux arm,ARM移植MPlayer
  9. PAT文件的输入输出
  10. 第四章 输入输出设备