行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间: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功能索引
展开阅读全文
︾
读者也喜欢这些内容:
IDA Pro如何调试脚本 IDA Pro脚本调试可以使用哪些工具
做逆向工程或者安全分析的小伙伴都知道IDA Pro这个软件,它还有个功能很实用,就是脚本调试。IDA Pro的脚本功能不仅能做更深入的分析,还能省下很多重复劳动时间,让逆向过程变得特别高效。接下来,我们就聊聊IDA Pro如何调试脚本 IDA Pro脚本调试可以使用哪些工具这个话题。...
阅读全文 >
IDA Pro脚本怎么编写?IDA Pro如何自动化反编译任务?
如果你是从事逆向工程或者恶意软件分析的朋友,应该对IDA Pro这款工具不陌生,IDA Pro有强大的脚本功能,通过它你可以自动化很多工作,省时省力。今天,我们就来聊一聊IDA Pro脚本怎么编写?IDA Pro如何自动化反编译任务?让工作效率更高!...
阅读全文 >
逆向工程师和黑客的区别 为什么逆向工程师都在用ida软件
在信息安全和软件开发领域,逆向工程师和黑客是两个备受关注的角色。尽管两者都涉及代码分析和破解,但在职业目标、方法和道德规范上存在显著差异。同时,IDA软件作为逆向工程师的首选工具,其受欢迎的原因也值得探讨。本文将详细分析“逆向工程师和黑客的区别 为什么逆向工程师都在用ida软件”这一主题,并进一步介绍常用的逆向工程软件。...
阅读全文 >
ida lumina是什么?ida lumina的应用场景有哪些?
在软件开发和逆向工程领域,IDA Pro是一个广为人知的工具,用于反编译和分析二进制文件。而IDA Lumina是IDA Pro中的一个新功能,专注于提高反编译和分析的效率。那么,IDA Lumina具体是什么?它有哪些应用场景?本文将详细解答这些问题,并介绍IDA的不同版本。...
阅读全文 >