IDA Pro > IDA Pro教程 > 技术问题 > IDA Pro编辑断点(Edit breakpoint)

IDA Pro编辑断点(Edit breakpoint)

发布时间:2023-05-29 13: 31: 30

Action name:BreakpointEdit
This command opens a dialog box to edit an existing breakpoint.
Location
The breakpoint location:either an absolute address,a symbol name,
a module+offset combination,or a source file name and a line number.
The exact location syntax depends on the breakpoint kind:absolute,module
relative,symbolic,or source code.
Condition
This IDC expression will be evaluated each time the breakpoint
is reached.If the expression returns true(non-zero),the debugger will execute the
selected actions.Please note that you can use the register names in the
IDC scripts when the debugger is active.Tests like this are allowed,
for example:EAX==EBX+5 or get_wide_dword(ESP+0x10)==34
You can also use the"..."button to enter a multiline condition,or specify
another scripting language to use.See here for
more info.
Settings
Enabled:
If the breakpoint is enabled or disabled.Disabled breakpoints
are not written to the debugged process.
Hardware:
If enabled,IDA will use a hardware breakpoint.The breakpoint
mode and size must be specified for them(see below).
Module relative:
The breakpoint location is stored as a combination of a module
name and an offset.This kind of breakpoint is useful for
DLLs that are loaded to various addresses because their addresses
cannot be calculated in advance.Example:kernel32+0x1234
Symbolic:
The breakpoint location is stored as a combination of a symbol
name and a possible offset.This kind of breakpoint is useful for
symbols that can be imported from different DLLs because their addresses
cannot be calculated in advance.Example:myfunc+44
Source code:
The breakpoint location is stored as a combination of a source file
name and a line number.Can be used only if the source code of the
debugged application is available.Example:myfile.cpp:55
Low level condition:
Evaluate the condition on the remote computer.Such conditions are
faster,especially during remote debugging,because there is no
network traffic between IDA and the remote computer on each
breakpoint hit.More details
Actions
Break:
Suspend the debugged application
Trace:
Add a new entry to the trace log
Refresh debugger memory:
By default IDA does not refresh the memory config before evaluating
a breakpoint condition.This option enables the refresh.
To refresh it manually,call refresh_debugger_memory
Enable tracing:
Enable tracing when the breakpoint hits.This is different from trace
breakpoints(where only a new entry is added to the trace log).
Disable tracing:
Disable tracing when the breakpoint fires.
Tracing type:
Instruction,Function and Basic block level tracing types can be selected
for breakpoints where enable/disable tracing have been selected.
Hardware breakpoint size
Number of bytes to watch:1,2 or 4 bytes for normal hardware breakpoints.
Any size for page breakpoints.
Hardware breakpoint mode
The access type the breakpoint will react:read/write,write,execute.
In the case of Intel hardware breakpoints,some limitations are enforced(in contrast with page breakpoints).It is impossible to create more than 4 hardware breakpoints.The address of the breakpoint must be aligned appropriately:
-2-byte breakpoints must be word-aligned.
-4-byte breakpoints must be dword-aligned.
Please note that hardware breakpoints occur AFTER the instruction execution while software breakpoints occur BEFORE the instruction.
Usually,it is easier to use software breakpoints,except if:
-we want to be sure the memory is not modified by the debugger
(instruction breakpoints modify the debugged process memory).
-we want to detect accesses to data bytes.
-the specified address is write protected(really rare!).
See also Breakpoints list
Add breakpoint
Delete breakpoint
Breakpoint conditions
Breakpoints submenu
Index of IDC functions
中文翻译:
动作名称:BreakpointEdit
此命令打开一个对话框以编辑现有断点。
地点
断点位置:绝对地址,符号名,模块+偏移量组合,或源文件名和行号。
确切的位置语法取决于断点类型:绝对、模块
相对的、符号的或源代码。
健康)状况
断点时都会评估此IDC表达式到达了。如果表达式返回真(非零),调试器将执行选定的动作。请注意,您可以在调试器处于活动状态时的IDC脚本。允许这样的测试,例如:EAX==EBX+5或get_wide_ dword(ESP+0x10)==34
您还可以使用...按钮输入多行条件,或指定要使用的另一种脚本语言。在这里查看更多信息。
设置
启用:
断点是启用还是禁用。禁用断点不写入被调试的进程。
硬件:
如果启用,IDA将使用硬件断点。断点必须为它们指定模式和大小(见下文)。
模块相关:
模块的组合
名称和偏移量。这种断点是有用的加载到不同地址的DLL,因为它们的地址无法提前计算。示例:kernel32+0x1234
象征性的:
符号的组合名称和可能的偏移量。这种断点是有用的可以从不同的DLL导入的符号,因为它们的地址无法提前计算。示例:myfunc+44
源代码:
文件的组合名称和行号。只有在源代码的情况下才能使用调试的应用程序可用。示例:myfile.cpp:55
低电平情况:
评估远程计算机上的状况。这样的条件是更快,尤其是在远程调试期间,因为没有IDA和远程计算机之间的网络流量断点命中。更多细节动作
休息:
挂起被调试的应用程序
痕迹:
日志添加新条目
刷新调试器内存:
默认情况下,IDA在评估之前不会刷新内存配置断点条件。此选项启用刷新。要手动刷新它,请调用refresh_debugger_memory
启用跟踪:
断点命中时启用跟踪。这与跟踪不同断点(只有一个新条目被添加到跟踪日志)。
禁用跟踪:
触发断点时禁用跟踪。
跟踪类型:
可选择指令、函数和基本块级跟踪类型对于已选择启用/禁用跟踪的断点。
硬件断点大小
要观察的字节数:1、2或4个字节用于普通硬件断点。
页面断点的任意大小。
硬件断点模式
断点将反应的访问类型:读/写、写、执行。
在Intel硬件断点的情况下,强制执行一些限制(与页断点)。
不可能创建超过4个硬件断点。
断点的地址必须适当对齐:
-2字节断点必须字对齐。
-4字节断点必须是双字对齐的。
请注意,硬件断点发生在指令执行之后而软件断点出现在指令之前。
通常,使用软件断点更容易,除非:
-我们要确保内存没有被调试器修改(指令断点修改被调试的进程内存)。
-我们想要检测对数据字节的访问。
-指定的地址被写保护(真的很少见!)。
另见断点列表
添加断点
删除断点
断点条件
断点子菜单
IDC功能索引

展开阅读全文

标签:

读者也访问过这里:
邀请您进入交流群 点击扫码
400-8765-888 kefu@makeding.com

专业销售为您服务

欢迎添加好友,了解更多IDA优惠信息,领逆向工程学习资料礼包1份!
热门文章
exe反编译工具哪个好?反编译能力强的工具盘点
随着软件技术的发展,exe(可执行文件)已经成为了电脑、手机等多个平台上的主要软件运行格式,而对于exe文件的反编译也成为了逆向工程中不可缺少的一个步骤。本文将介绍一些常用的exe反编译工具,并评价其优缺点,帮助读者选择合适的工具。
2023-04-12
idapro怎么改为中文
IDA Pro是一款功能强大的反汇编和反编译工具,广泛应用于逆向工程和软件开发领域。在使用IDA Pro时,如果我们不习惯英文界面,可以将其改为中文界面。本文将介绍IDA Pro怎么改为中文界面。IDA Pro界面改成中文主要有两种方法,下面是详细介绍。
2023-04-19
c++反编译工具有哪些
反编译C++代码的工具一般是针对可执行文件和库文件的反汇编和逆向分析工具。本文将给大家介绍c++反编译工具有哪些的内容。市面说的c++反编译工具有很多,下面介绍几款使用认识较多的软件。
2023-04-23
ida怎么查找字符串 ida字符串窗口快捷键
在数字化时代,逆向工程作为解密软件和分析程序的关键技术,正日益受到广泛关注。在逆向分析的过程中,IDA(Interactive DisAssembler)是一款备受推崇的工具,它为逆向工程师们提供了强大的功能和灵活的操作。本文将带您深入探讨如何在IDA中查找字符串,优化字符串窗口的使用,并探讨IDA如何将变量转换成字符串,帮助您更加熟练地驾驭这一工具,为逆向分析的世界增添一抹精彩。
2023-09-27
ida如何转伪代码 ida伪代码怎么看
IDA Pro是一款常用的反汇编和反编译工具,可以帮助我们分析二进制文件的实现细节和执行过程,以便更好地理解程序的执行过程和逻辑。在进行逆向工程的过程中,我们经常需要将反汇编结果转换为伪代码,以便更好地进行分析和修改。本文将介绍如何使用IDA Pro转换为伪代码,并简单讲解ida伪代码怎么看。
2023-04-14
最新文章
IDA PE文件怎么加载 IDA PE节区异常怎么修复
用IDA看PE文件,前面加载这一步如果没选对,后面看到的节区、导入和交叉引用就可能一起跑偏。官方帮助里其实已经把关键入口写得很清楚,PE加载时最值得留意的就是【Make imports section】和【Rename DLL entries】这几项,因为它们会直接影响.idata的呈现方式,以及按序号导入的名字是否被补出来。
2026-04-13
IDA异常处理表怎么看 IDA异常处理流程怎么追踪
在IDA里看异常处理,最容易走偏的地方,是把它当成普通数据段去扫。实际上,Windows下最常见、也最适合在IDA里系统追踪的,是x64这一类表驱动异常处理:异常目录先指向.pdata,.pdata里是按函数地址排序的函数表项,再由每一项跳到.xdata里的展开信息。顺序理清以后,后面看处理函数、追语言级处理逻辑,都会顺很多。
2026-04-13
IDA TLS回调怎么定位 IDA TLS回调入口怎么确认
做壳、反调试和早期初始化分析时,TLS回调经常比OEP更早执行,所以一旦漏掉,后面的控制流判断就容易偏。微软的PE规范写得很明确,TLS目录里有一个【Address of Callbacks】字段,它指向一个以空指针结尾的回调函数数组,数组里的多个回调会按地址出现顺序被调用。Hex-Rays早期发布说明也提到,IDA对PE文件已经能够识别TLS callback entries并添加注释。
2026-04-13
IDA vtable怎么识别 IDA vtable调用关系怎么梳理
在IDA里看C++程序,vtable这件事最怕的不是找不到,而是看到了却没真正认出来。很多人一开始只是顺着函数跳,看见一串函数指针就觉得像虚表,可继续往下追时,this指针不稳、虚调用显示不完整、继承关系也对不上,最后越看越乱。Hex-Rays官方文档其实把关键前提说得很明确,IDA和反编译器能利用VFT也就是虚函数表生成更清楚的虚调用表达,但前提是类类型、虚表指针名字和目标编译器设置要尽量对上。
2026-04-13
IDA switch识别失败怎么办 IDA switch跳转表怎么手动修复
IDA里遇到switch识别失败,真正难的通常不是报错本身,而是后面伪代码会跟着断,交叉引用和分支关系也会一起变乱。Hex-Rays官方说明很直接,switch分析失败本质上是间接跳转没有被正确识别,这时优先级最高的不是硬改伪代码,而是先让跳转表重新被分析出来。
2026-04-13
IDA段权限怎么修改 IDA段权限识别错误怎么修正
在IDA里,段权限看起来只是几个小勾选,但它影响的不只是显示。权限设错以后,轻一点会让段列表里的读写执行状态看着别扭,重一点会把反编译判断也带偏。Hex-Rays官方文档里写得很明确,段属性窗口可以直接改Read、Write、Execute,段列表里也会显示R、W、X、D、L这些标志;另外,反编译器会把“没有写权限的段”当成常量内存来处理,所以写权限识别错了,伪代码结果也可能跟着失真。
2026-04-10

通过微信咨询我们

欢迎添加好友,了解更多IDA优惠信息,领取逆向工程学习资料礼包1份!

读者也喜欢这些内容: