软件发布

手机版,更便捷!

下载排行榜首页软件下载安卓下载资讯教程推荐专题装机必备
当前位置:电脑软件 > 系统工具 > 系统其它 > x64dbgv2023.01.25 免费版

x64dbg v2023.01.25 免费版程序调试软件

101人评分

  • 软件大小:32.3MB
  • 更新时间:2023-01-26
  • 授权:免费软件
  • 软件类型:国产软件
  • 软件类别:国产软件
  • 语言:简体中文
  • 平台:Win7/Win8/Win10/WinALL
  • 平台检测:
立即下载 已有 次下载

x64dbg是一款专业的程序调试软件。程序调试工具中的佼佼者x64dbg。该工具主要在QT平台上编写,用于调试x64和X32应用程序。整个用户界面不清楚,功能模块分布整齐;它具有所有用户都将使用的内置功能。它为用户提供了一个DBG模块。该模块主要是为调节器而设置的,它可以在调试器中组织数据并为GUI提供所需的数据信息。内部GUI构建在子QT之上,可以为用户提供数据交互。该程序系统为用户提供可执行文件和源代码,可以随时为您提供服务。用户可以在使用此工具时编写脚本。它具有集成的,可调试的且类似于ASM的脚本语言。需要它的用户可以下载Experience

软件功能:

1.开源

2.直观,熟悉的新用户界面

3.类C表达式解析器

4.DLL和exe文件全功能调试(TitanEngine)

5.类似IDA的侧边栏和跳跃箭头

6.类似IDA的指令令牌突出显示(突出显示寄存器等)

7.内存映射

8.象征主义

9.线程视图

10.内容敏感的注册视图

11.完全可自定义的配色方案

12.动态识别模块和字符串

13.进口重建一体化(蓝蟹)

14.快速拆卸(BeaEngine)

15.用户数据库(JSON),用于注释,标签,书签等。

16.支持不断增长的API插件

17.可扩展和可调试的脚本语言自动化

18.多种数据类型的内存转储

19.基本调试符号(PDB)支持

20.动态堆栈视图

21.内置程序集(XEDParse)

22.查看补丁并将其保存到磁盘

23.内置十六进制编辑器

安装步骤:

1.用户可以单击本网站提供的下载路径下载相应的程序安装包

x64dbg

2.只需使用解压功能打开压缩包,双击主程序进行安装,弹出程序安装界面

x64dbg

3.只需单击与您的计算机系统相同的处理位,即可在32位和64位之间选择

x64dbg

软件特色:

1.搜索记忆模式

2.积极发展

3.x64_dbg正在持续积极的发展中

4.GPLv3

5.我们还提供可执行文件和源代码。随时贡献

6.定制

7.用C ++编写的插件,更改颜色并调整您的首选项

8.X64 / X32支持

9.x64_dbg可以调试x64和X32应用程序。只有一个界面

10.建立在开源库上

11.x64_dbg使用了Qt,TitanEngine,BeaEngine,蓝蟹,Yang Song,LZ4和XEDParse

12.操作简单,开发功能强大

13.x64_dbg使用C ++和Qt4快速添加新功能

14.脚本

15.x64_dbg具有集成的,可调试的,类似于ASM的脚本语言

16.社区意识

17.x64_dbg具有许多逆转社会思想或创造的功能

18.伸缩

19.编写插件以添加脚本命令或集成工具

使用说明:

表达式函数您可以在表达式中使用函数。调试器定义以下功能:

GUI交互式disasm.sel()/ dis.sel():在反汇编视图中获取选定的地址。

Dump.sel():在转储视图中获取选定的地址。

Stack.sel():在堆栈视图中获取选定的地址

源src.disp(addr):获取addr相对于最后一个源行的位移。

Src.line(addr):获得的源行号addr。

Module mod.party(addr):获取模块的聚会地址。 0是用户模块,1是系统模块。

Mod.base(addr):获取模块的基址addr。

Mo.size(addr):获取模块的大小地址。

Mod.hash(addr):获取模块的哈希值addr。

Mo.entry(addr):获取模块的入口地址addr。

Mod.system(addr):如果at的模块addr是系统模块,则为true。没有模块是用户模块。

Md.user(addr):如果at的模块addr是用户模块,则为true。没有模块是用户模块。

Mod.main():返回主模块的基础知识(调试)。如果这是一个DLL,它将在加载之前返回0。

Mod.rva(addr):获得的RVA地址。如果addr不在模块内部,它将返回0。

Mod.offset(addr):获取的文件偏移量addr。如果addr不在模块内部,它将返回0。

Mod.isexport(addr):如果addr是从模块导出的函数,则为true。

处理信息peb():获取PEB的地址。

Teb():获取TEB地址。

Tid():获取当前线程ID。

常规bswap(值):字节交换值。

三元(condition,val1,val2):如果condition不为零,则返回val1,否则返回val2。

GtTickCount():x64dbg的刻度计数。

memory mem.valid(addr):如果addr是有效的内存地址,则为True。

Mm.base(addr):返回的内存页面的基本addr(可以根据您的内存映射模式进行更改)。

Mem.size(addr):返回的内存页面大小addr(可以根据您的内存映射模式进行更改)。

Mem.iscode(addr):如果addr页是可执行的,则为true。

Mm.decodepointer(ptr):等效于在DecodePointer上调用API ptr,仅在Vista +上有效。

反汇编dis.len(addr):获取指令的长度addr。

Dis.iscond(addr):如果at处的指令addr是条件分支,则为true。

Dis.isbranch(addr):如果at处的指令addr是分支(jcc / call),则为true。

Dis.isret(addr):如果at的指令是,则addr为true ret。

Dis.iscall(addr):如果at的指令是,则addr为true调用。

Dis.ismem(addr):如果指令addr具有存储操作数,则为true。

Dis.isnop(addr):如果at的指令addr等效于NOP,则为true。

Dis.isunusual(addr):如果at的命令addr异常,则为true。

Dis.branchdest(addr):指令的跳转目标位于addr(如果在其上按Enter,将显示以下内容)。

Dis.branchexec(addr):如果addr要执行分支,则为true。

Dis.imm(addr):指令的立即值addr。

Dis.brtrue(addr):指令的分支目标是addr。

Dis.brfalse(addr):如果下一条指令addr是条件分支,则下一条指令的地址。

Dis.next(addr):addr的下一条指令的地址。

Dis.prev(addr):上一条指令的地址addr。

Dis.iscallsystem(addr):如果at命令addr进入系统模块,则为true。

跟踪记录tr.enabled(addr):如果启用了跟踪记录,则它是真实的addr。

Tr.hitcount(addr):记录在跟踪地址中的命中数。

Tr.runtraceenabled():如果启用了运行跟踪,则为True。

字节/字/双字/四字/ PTR ReadByte,Byte,byte(addr):从中读取字节addr并返回值。

ReadWord,Word,word(addr):从其中读取一个单词(2个字节)addr并返回值。

ReadDword,Dword,dword(addr):从中读取一个双字(4字节)addr并返回值。

ReadQword,Qword,qword(addr):从其中读取一个qword(8个字节)addr并返回值(仅在x64上可用)。

ReadPtr,ReadPointer,ptr,Pointer,pointer(addr):从中读取指针(4/8字节)addr并返回值。

func.start()函数:函数addr的开头是一部分,否则为零。

Func.end():函数addr的结尾是其中的一部分,否则为零。

参考ref.count():当前参考视图中的条目数。

Ref.addr(index):在此处获取参考地址索引。零故障。

参假定返回地址在堆栈上(例如,您在函数内部)。

Argget(index):从索引获取参数(从零开始)。

Ag.set(index,value):将index(从零开始)的参数设置为value。

异常这是一组函数,用于获取有关最后一个异常的信息。它们可用于异常断点以构建更高级的条件。

Ex.firstchance():最后一个异常是否是第一次机会异常。

Ex.addr():最后一个异常地址。

Ex.code():最后一个异常代码。

Ex.flags():最后一个异常标志。

Ex.infocount():最后一次异常信息计数(参数数量)。

Ex.ifo(index):最后一个异常信息,如果索引超出范围,则为零。

变量该程序支持变量。变量分为三种:

USER:用户使用var命令创建的变量。这些变量没有访问限制。

SYSTEM:可以读写系统创建的变量,但不能删除。

READONLY:可以读取系统创建的变量,但不能写入或删除。

保留变量有一些保留变量:

$ res / $ result:一般结果变量。

$ resN / $ resultN:其他可选结果变量(N = 1-4)。

$ pid:调试后的可执行文件的进程ID。

$ hp / $ hProcess:用于调试的可执行句柄。

$ lastalloc:alloc命令的最终结果。

$ breakpointcondition:控制条件断点命令中的暂停行为。

$ breakpointcounter:在评估条件断点的条件之前设置断点的命中计数器。

$ breakpointlogcondition:条件断点的日志条件。它不能用于控制日志记录行为。

条件断点

操作概述遇到断点时,x64dbg将执行以下操作:

如果断点是异常断点,则将系统变量$ breakpointexceptionaddress设置为异常地址;否则,将系统变量$ breakpointexceptionaddress设置为异常地址。否则,将系统变量设置为异常地址。

增加命中计数器;

将系统变量$ breakpointcounter设置为值o

f点击柜台;

如果设置了中断条件,则对表达式求值(默认为1);否则为0。

如果设置了快速恢复,并且中断条件的值为0:

恢复调试对象的执行(跳过后续步骤)。这也将跳过插件回调和GUI更新的执行。

如果设置了日志条件,则对表达式求值(默认为1);否则为0。

如果设置了命令条件,则对表达式求值(默认为中断条件);

如果中断条件的值为1(或除“ 0”以外的任何值):

打印标准日志消息; (如果将断点设置为静默,则禁止使用标准日志消息。)

执行插件回调。

如果设置了日志文本,并且日志条件评估为1(或“ 0”以外的任何值):

格式化并打印日志文本(请参阅字符串格式)。

如果设置了命令文本,并且命令条件评估为1:

设置系统变量$ breakpointcondition

设置为中断条件;

将系统变量$ breakpointlogcondition设置为log condition;

在命令文本中执行命令;

断点条件将设置值$ breakpointcondition。因此,如果您在脚本中修改此系统变量,则可以控制调试对象是否将中断。

如果中断条件的值为1(或除“ 0”以外的任何值):

中断调试目标并等待用户恢复。

点击计数器点击计数器记录达到断点的次数。即使在此断点上启用了快速恢复,它也会无条件地增加。可以在断点视图中查看它,并使用ResetBreakpointHitCount对其进行重置。

record可以使用x64dbg格式的日志来记录程序的当前状态。有关如何格式化日志字符串,请参阅格式化。

注意可以使用GUI来设置条件断点,方法是先设置软件断点(键F2),然后右键单击指令,然后从上下文菜单中选择“编辑断点”命令。根据需要填写条件表达式和/或其他信息,然后确认并关闭对话框

例如,您不应在breakpoint命令中运行可更改调试对象的运行状态的命令,因为在此处使用这些命令时,它们是不稳定的。您可以改用中断条件,命令条件或$ breakpointcondition。

如果您不知道条件将在哪里变为真,请尝试使用条件跟踪!

条件断点示例,永不中断

损坏条件:0

仅在EAX和ECX都等于1时才中断的条件断点。

损坏条件:EAX == 1 && ECX == 1

仅当EAX是有效地址时才会中断的条件断点

损坏条件:mem.valid(EAX)

条件断点,在第三次命中时被中断

中断条件:$ breakpointcounter == 3或($ breakpointcounter%3)== 0

一个条件断点,只有在执行线程1C0时才会被中断

条件跟踪

操作概述执行跟踪步骤时,x64dbg将执行以下操作:

增加跟踪计数器;

将系统变量$ tracecounter设置为跟踪计数器的值;

如设置了中断条件,则对表达式求值(默认为0);否则为0。

执行插件回调(允许插件更改中断条件);

如果设置了日志条件,则对表达式求值(默认为1);否则为0。

如设置了命令条件,则对表达式求值(默认为中断条件);

如果设置了开关条件,则对表达式求值(默认为0)

如果设置了日志文本,并且日志条件评估为1:

格式化并打印日志文本(请参阅字符串格式)。要将日志重定向到文件,请使用TraceSetLogFile。

如果设置了命令文本,并且命令条件评估为1:

将系统变量$ tracecondition设置为中断条件;

将统变量$ tracelogcondition设置为log condition;

将系统变量$ traceswitchcondition设置为切换条件;

在命令文本中执行命令;

断条件将设置值$ tracecondition。因此,如果您在脚本中修改此系统变量,则可以控制调试对象是否将中断。

的开关状态将设置为$ traceswitchcondition的值。因此,如果您在脚本中修改此系统变量,则可以控制是否切换步骤类型。

如果中断条件的值为1:

打印标准日志消息;

中断调试目标并等待用户恢复。

如果将切换条件评估为1:

切换(反向)步进类型。如果您想跟踪,它将切换到输出(反之亦然)。例如,这允许您不跟踪有条件的系统模块调用或不跟踪某些调用。 mod.party(dis.branchdest(cip))== 1

record可以使用x64dbg格式的日志来记录程序的当前状态。有关如何格式化日志字符串,请参阅格式化。如果要查找记录的地址和所有已跟踪指令的反汇编,则可以使用它。要将日志重定向到文件,请使用TraceSetLogFile。 {p:cip} {i:cip}

跟踪记录如果使用了基于跟踪记录的跟踪选项之一,则对中断条件的初始评估包括您指定的跟踪记录跟踪的类型。正常中断条件可用于在满足跟踪记录条件之前进行中断。如果要在条件中包括跟踪记录以进行完全控制,则可以使用表达式函数。

注意您可以通过“调试”菜单中的“直到条件跟踪” /“直到条件跟踪条目”命令开始条件跟踪。

您不应在breakpoint命令中运行可更改调试对象的运行状态的命令

(例如),因为在此处使用这些命令时不稳定。 您可以改用中断条件,命令条件或$ tracecondition。

上一篇:Copy Text Contents 下一篇:7 Sticky Notes

应用截图

  • x64dbg截图(1)
  • x64dbg截图(2)

相关专题

  • 合租app

    合租app是能快速找到合租者一起租房的安卓软件应用。小编整理的合租手机软件大全,这里不但有可快速找到合租房的手机软件,还会告诉你哪些软件用户群众最多,哪些合租app好。 更多详细 >

人气软件

  • SSK飚王U盘修复工具评分:5 

    下载

    SSK飚王U盘修复工具SSK飚王U盘修复工具是一款专业的u盘修复工具。需要修复u盘?你可以来试试SSK飚王U盘修复工具。 大小:15.5MBMB  更新:09-22  类型:系统其它  国产软件  简体中文

  • 惠普U盘修复工具评分:5 

    下载

    惠普U盘修复工具惠普U盘修复工具是一款能够轻松修复U盘的安全软件。如果你正在为了U盘出现了问题而烦恼你可以来试试惠普U盘修复工具。 大小:281.6KBMB  更新:09-22  类型:系统其它  国产软件  简体中文

  • 晓宇科技一键装机工具箱评分:5 

    下载

    晓宇科技一键装机工具箱晓宇科技一键装机工具箱是一款专业的系统重装工具。需要重装电脑系统的你可以来试试晓宇科技一键装机工具箱。 大小:28MBMB  更新:09-24  类型:系统其它  国产软件  简体中文

  • 彻底关闭UAC小工具评分:5 

    下载

    彻底关闭UAC小工具彻底关闭UAC小工具顾名思义是一款用来关闭UAC的软件。对于关闭UAC你可以来使用这款彻底关闭UAC小工具。 大小:131.6KBMB  更新:09-24  类型:系统其它  国产软件  简体中文

  • PC Win Booster评分:5 

    下载

    PC Win BoosterPC Win Booster是一款专业的系统优化工具。想要你的电脑更好你可以来试试这款好用的系统优化软件PC Win Booster。该软件可以快速帮助用户清理计算机的垃圾文件,并支持优化系统结构以提高效率。 大小:19.8MBMB  更新:09-25  类型:系统其它  国产软件  简体中文

最新评论

软件分类

热门排行榜

回顶部 去下载