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 Pro怎么导出C代码 IDA Pro导出的C代码缺少变量声明如何处理
IDA Pro通过Hex-Rays反编译器把机器指令转换为接近C语言的伪代码,并不等于恢复原始工程。处理“IDA Pro怎么导出C代码IDA Pro导出的C代码缺少变量声明如何处理”时,应先修正函数边界、参数类型和局部变量,再执行导出;未经整理的伪代码容易出现声明折叠、变量合并和调用原型错误。
2026-08-04
IDA Pro反编译C++怎么识别虚函数 IDA Pro虚函数调用关系显示错误如何调整
APK中的Java或Kotlin代码主要位于DEX文件,Native代码通常位于不同ABI目录下的ELF共享库。动态调试时看到大量sub_xxx、loc_xxx或无意义类名,往往不是调试器没有连接成功,而是当前数据库、运行模块与符号文件没有正确对应。处理“IDA Pro动态调试APK怎么加载符号IDA Pro调试APK时符号名称缺失如何补全”时,应先区分DEX符号和Native符号,再按照实际加载地址补充调试信息。
2026-08-04
IDA Pro动态调试APK怎么加载符号 IDA Pro调试APK时符号名称缺失如何补全
APK中的Java或Kotlin代码主要位于DEX文件,Native代码通常位于不同ABI目录下的ELF共享库。动态调试时看到大量sub_xxx、loc_xxx或无意义类名,往往不是调试器没有连接成功,而是当前数据库、运行模块与符号文件没有正确对应。处理“IDA Pro动态调试APK怎么加载符号IDA Pro调试APK时符号名称缺失如何补全”时,应先区分DEX符号和Native符号,再按照实际加载地址补充调试信息。
2026-08-04
IDA Pro动态调试SO怎么配置远程服务器 IDA Pro远程调试连接频繁中断如何处理
IDA Pro动态调试SO时,IDA负责显示反汇编、断点和寄存器,目标设备上的调试服务器负责控制实际进程。服务器架构、端口、调试器类型或目标进程选择错误,都可能导致无法附加、SO断点失效或连接突然中断。下面围绕“IDA Pro动态调试SO怎么配置远程服务器IDA Pro远程调试连接频繁中断如何处理”,说明完整配置和排查方法。
2026-08-04
IDA Pro动态调试DLL怎么捕获模块加载 IDA Pro模块加载后断点没有触发是什么原因
DLL不能像EXE一样独立启动,必须由宿主进程加载。宿主选择错误、加载事件捕获过晚,或仍按静态地址设置断点,都会造成模块已经出现,断点却没有反应。处理“IDA Pro动态调试DLL怎么捕获模块加载IDA Pro模块加载后断点没有触发是什么原因”,要先确认真实加载进程,再依据模块基址和RVA定位运行地址。
2026-08-04
IDA Pro动态调试EXE怎么处理地址随机化 IDA Pro断点地址随程序启动变化如何定位
Windows启用地址空间布局随机化后,同一个EXE每次启动时可能被加载到不同的虚拟地址。IDA静态分析窗口显示的是数据库地址,调试器看到的则是本次进程的实际地址。IDA Pro动态调试EXE怎么处理地址随机化IDA Pro断点地址随程序启动变化如何定位,关键不是记住某次运行的绝对地址,而是保存目标位置相对模块基址的偏移。PE格式中的相对虚拟地址,就是目标虚拟地址减去映像基址;加载器改变基址后,绝对地址会变,模块内偏移通常不变。
2026-08-04

通过微信咨询我们

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

读者也喜欢这些内容: