x64dbg 安装使用教程

news2024/12/28 20:16:32

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可以gs,es,cs,fs,ds,ss

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 字节),并返回该值。

数字
默认情况下,所有数字都解释为十六进制!如果要指定,可以x或0x作为前缀。十进制数可以通过在数字前加点号来使用.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。请注意,当有名称为的导出时entry,oep否则ep将返回这些地址

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

括号:(1+2),[1+6]比其他操作优先。
一元减/二进制非/逻辑非:(-1负1),~1(二进制非1),!0(逻辑非0)。
乘法/除法:(2*3常规乘法),2`3(得到乘法的高分),6/3(常规除法),5%3(除法的模/余数)。
加法/减法:(1+3加法),5-2(减法)。
左/右移位/旋转:(1<<2向左移位,shl表示无符号,sal表示有符号),10>>1(向右移位,shl表示无符号,sal表示有符号),1<<<2(向左旋转),1>>>2(向右旋转)。
小(相等)/大(等于):4<10,3>6,1<=2,6>=7(如果真解析为1,0,如果假)。
等于/不等于:1==1,2!=6(如果为true,则解析为1;如果为false,则解析为0)。
二进制和:(12&2常规二进制和)。
二进制异或:(2^1常规二进制异或)。
二进制或:(2|8常规二进制或)。
逻辑和:(0&&3如果为true,则解析为1;如果为false,则解析为0)。
逻辑或:(0||3如果为true,则解析为1;如果为false,则解析为0)。
逻辑含义:(0->1如果为true,则解析为1;如果为false,则解析为0)
处理信息
peb() :获取PEB地址。
teb() :获取TEB地址。
tid() :获取当前线程ID
插件
stringsx64dbg        字符串搜索
    x64dbgApiBreak        API断点
    xAnalyzer                   分析
    SharpOD x64              反调试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2257499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CH343等第3代USB串口芯片常见问题解答

一、概述 CH343、CH9101、CH9102等系列芯片&#xff0c;是沁恒推出的第三代USB转单串口产品&#xff0c;基于经典版CH340系列芯片进行技术革新&#xff0c;实现USB转高速异步串口&#xff0c;波特率支持最高6Mbps。芯片内部高度集成&#xff0c;外围精简&#xff0c;均提供VIO…

npm安装-详细教程

npm安装教程 第一章 Vue学习入门之 Node.js 的使用 文章目录 npm安装教程 [TOC] 前言一、npm是什么&#xff1f;二、安装、配置环境变量 1.下载并安装NodeJS2.npm配置 前言 随着时代的不断发展&#xff0c;前端学习这门技术也越来越重要&#xff0c;很多人都开启了学习前端…

【Web】2024“国城杯”网络安全挑战大赛题解

目录 Ez_Gallery 法一&#xff1a;shell盲注 法二&#xff1a;反弹shell 法三&#xff1a;响应钩子回显 Easy Jelly 法一&#xff1a;无回显XXE 法二&#xff1a;Jexl表达式RCE signal 法一&#xff1a;SSRF 法二&#xff1a;filterchain RCE Ez_Gallery 用这个bp验证…

【模型对比】ChatGPT vs Kimi vs 文心一言那个更好用?数据详细解析,找出最适合你的AI辅助工具!

在这个人工智能迅猛发展的时代&#xff0c;AI聊天助手已经深入我们的工作与生活。你是否曾在选择使用ChatGPT、Kimi或是百度的文心一言时感到一头雾水&#xff1f;每款AI都有其独特的魅力与优势&#xff0c;那么&#xff0c;究竟哪一款AI聊天助手最适合你呢&#xff1f;本文将带…

Visual Studio Community安装WebForm创建和数据连接

目录 一、安装Visual Studio Community 1.下载Visual Studio Community 2.双击安装 3.配置 二、项目创建 1.创建新项目 2.配置新项目 3.创建web窗体 4.代码分部 5.文件打开问题 三、数据库访问 1.自己先装一个sql server 2.创建实体数据模型 3.创建连接 4.修改更…

第二篇:脚手架搭建 — React 和 Express 的搭建

目录 1 React搭建2 Express搭建总结 第一篇我们介绍了开发环境的搭建过程&#xff0c;介绍了vscode、git、nodejs和mongodb的安装过程。有了基础的开发环境就需要搭建我们的前后端脚手架了。 1 React搭建 前端我们选用React框架解决界面的渲染和用户交互的问题&#xff0c;Rea…

对深度学习中的LayerNorm层重用问题的深入剖析

深度学习中的归一化技术是提升模型性能和训练稳定性的重要利器。在众多归一化方法中&#xff0c;LayerNorm (层归一化)以其独特的优势在自然语言处理等领域得到广泛应用。然而&#xff0c;在实际开发中&#xff0c;一个常见的误区是尝试重用LayerNorm层&#xff0c;这不仅会影响…

互联网、物联网的相关标准

互联网的相关标准 网络通信协议&#xff1a; HTTP&#xff08;Hypertext Transfer Protocol&#xff09;&#xff1a;用于在网络中传输文本、图像、音频和视频等数据的协议。它基于请求-响应模型&#xff0c;客户端发送请求给服务器&#xff0c;服务器返回响应。HTTPS&a…

PageHelper自定义Count查询及其优化

PageHelper自定义Count查询及其优化 文章目录 PageHelper自定义Count查询及其优化一&#xff1a;背景1.1、解决方法 二&#xff1a;利用反射判断请求参数是否有模糊查询2.1、分页不执行count2.2、思路2.3、代码示例 三&#xff1a;自定义COUNT查询SQL(只适用于单表)3.1、局限性…

【洛谷】P1223 排队接水(思路详解)

#include <iostream> #include <algorithm> #include <iomanip> using namespace std;int main() {//1. 从标准输入读取人数n&#xff0c;对应题目中在水龙头前排队接水的人数int n; cin >> n;//2. 定义数组N&#xff0c;用于存储每个人接水的时间&am…

WebDAV服务不能上传大文件,文件超过50M报错[0x800700DF]怎么办?

这个问题需要分别从服务端和客户端解决。 1.Windows客户端 解除50M文件限制&#xff0c;Windows访问Webdav服务时&#xff0c;大于50M文件提示错误[错误:0x800700DF] 部署了webdav&#xff0c;Windows10映射网络磁盘&#xff0c;传输文件超过大约50MB的文件会弹出“0x800700…

计算机视觉:学习指南

一、引言 计算机视觉作为人工智能领域的一个重要分支&#xff0c;致力于让计算机理解和解释视觉信息&#xff0c;近年来取得了令人瞩目的进展&#xff0c;广泛应用于安防监控、自动驾驶、图像编辑、医学影像分析等众多领域。从入门到精通计算机视觉需要系统地学习一系列知识和…

vue3-canvas实现在图片上框选标记(放大,缩小,移动,删除)

双图版本&#xff08;模板对比&#xff09; 业务描述&#xff1a;模板与图片对比&#xff0c;只操作模板框选的位置进行色差对比&#xff0c;传框选坐标位置给后端&#xff0c;返回对比结果显示 draw.js文件&#xff1a; 新增了 createUuid&#xff0c;和求取两个数组差集的方…

StarRocks-hive数据类型导致的分区问题

背景&#xff1a; 有个hive的表&#xff0c;是月分区的&#xff08;month_id&#xff09;&#xff0c;分区字段用的是string类型。数据量比较大&#xff0c;为了保证计算性能&#xff0c;所以把数据导入到SR里&#xff0c;构建一个内部表。但是在建表的时候想使用月分区使用pa…

Flume——进阶(agent特性+三种结构:串联,多路复用,聚合)

目录 agent特性ChannelSelector描述&#xff1a; SinkProcessor描述&#xff1a; 串联架构结构图解定义与描述配置示例Flume1&#xff08;监测端node1&#xff09;Flume3&#xff08;接收端node3&#xff09;启动方式 复制和多路复用结构图解定义描述配置示例node1node2node3启…

嵌入式学习(15)-stm32通用GPIO模拟串口发送数据

一、概述 在项目开发中可能会遇到串口不够用的情况这时候可以用通过GPIO来模拟串口的通信方式。 二、协议格式 按照1位起始位8位数据位1位停止位的方式去编写发送端的程序。起始位拉低一个波特率的时间&#xff1b;发送8位数据&#xff1b;拉高一个波特率的时间。 三、代码 …

【Go系列】:全面掌握 Sentinel Go —— 构建高可用微服务的流量控制、熔断、降级与系统防护体系

前言 在现代分布式系统架构中&#xff0c;服务的稳定性和可用性是至关重要的。随着微服务和云原生技术的发展&#xff0c;如何有效地进行流量控制、熔断降级以及系统保护成为了一个关键课题。Sentinel 是阿里巴巴开源的一款面向分布式服务架构的流量控制组件&#xff0c;它不仅…

多模态RAG:通用框架方案调研汇总

阅读原文 多模态检索增强生成是一种新兴的设计范式&#xff0c;允许AI模型与文本、图像、视频等存储进行交互。在介绍多模态 RAG 之前&#xff0c;我们先简单了解一下传统的检索增强生成 (RAG)。 标准 RAG RAG 的理念是找到与用户查询相关的核心信息&#xff0c;然后将该信息…

《HTML 的变革之路:从过去到未来》

一、HTML 的发展历程 图片: HTML 从诞生至今&#xff0c;经历了多个版本的迭代。 &#xff08;一&#xff09;早期版本 HTML 3.2 在 1997 年 1 月 14 日成为 W3C 推荐标准&#xff0c;提供了表格、文字绕排和复杂数学元素显示等新特性&#xff0c;但因实现复杂且缺乏浏览器…

游戏交易系统设计与实现

文末获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 题目&#xff1a;游戏交易系统设计与实现 摘 要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询…