行业解决方案查看所有行业解决方案
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怎么修改字符串内容?IDA修改后怎么保存?
在软件开发和逆向工程领域,IDA Pro是一种极其强悍的工具,广泛用于程序剖析、调试和修改。它不仅支持多种处理器架构,还提供了大量的作用,以适应高档讲解的必须。本文将围绕ida怎么修改字符串内容,ida修改后怎么保存这一主题,详细描述怎样在IDA中更改字符串内容,及其修改后的存放方式。此外,我们还将探讨IDA转变的应用场景,帮助读者更深入地了解IDA的实际应用价值。...
阅读全文 >
ida查找函数被引用位置 ida函数窗口找不到
在当今信息安全和软件开发领域,IDA Pro的重要性不言而喻。作为一款领先的逆向工程工具,IDA Pro不仅帮助安全研究人员深入挖掘恶意软件的秘密,还使得软件开发人员能够更好地理解程序的内部运作机制。本文将进一步深入探讨如何在IDA中有效查找函数的被引用位置,解决在使用过程中遇到的函数窗口找不到的问题,并全面分析IDA在逆向工程中的核心作用及其对于整个行业的影响。...
阅读全文 >
IDA可以远程调试Linux文件么 ida怎么远程调试linux
在当今信息技术领域,远程调试Linux系统已成为许多开发者和安全专家关注的焦点。IDA Pro,作为一款著名的逆向工程工具,是否能够在这个领域发挥其作用。...
阅读全文 >
ida怎么搜索函数 ida如何定位main函数
在软件逆向工程的领域中,IDA(Interactive DisAssembler)被广泛认可为一款强大的工具,它为分析人员提供了深入探索程序内部结构和功能的能力。其中,函数搜索和定位主函数(main函数)作为逆向分析的基础技巧,具有重要的地位。本文将为您介绍IDA中如何高效地进行函数搜索以及定位主函数的方法,帮助您在逆向分析过程中更加得心应手。...
阅读全文 >