行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2023-04-25 11: 38: 37
Action name: Undo
This command reverts the database to the state before executing the last user action. It is possible to apply Undo multiple times, in this case multiple user actions will be reverted.
Please note the entire database is reverted, including all modifications that were made to the database after executing the user action and including the ones that are not connected to the user action. For example, if a third party plugin modified the database during or after the user action, this modification will be reverted. In theory it is possible to go back in time to the very beginning and revert the database to the state state that was present immediately after performing the very first user action. However, in practice the undo buffers overflow because of the changes made by autoanalysis. Autoanalysis generates copious amounts of undo data. Also please note that maintaining undo data during autoanalysis slows it down a bit. In practice it is not a big deal because the limit on the undo data is reached quite quickly (in a matter of minutes). Therefore, if during analysis the user does not perform any actions that modify the database, the undo feature will turn itself off temporarily.
However, if you prefer not to collect undo data at all during the initial autoanalysis, just turn off the UNDO_DURING_AA parameter in ida.cfg.
The configuration file ida.cfg has 2 more undo-related parameters:
UNDO_MAXSIZE max size of undo buffers; default: 128MB
once this limit is reached, the undo info about the oldest
user action will be forgotten.
UNDO_DEPTH max number of user actions to remember; default: 1000000
if set to 0, the undo feature will be unavailable.
Since there is a limit on the size of undo buffers, any action, even the tiniest, may become non-undoable after some time. This is true because the analysis or plugins may continue to modify the database and overflow the buffers. Some massive actions, like deleting a segment, may be non-undoable just because of the sheer amount of undo data they generate.
Please note that Undo does not affect the state of IDC or Python scripts. Script variables will not change their values because of Undo. Also nothing external to the database can be changed: created files will not be deleted, etc.
Some actions cannot be undone. For example, launching a debugger or resuming from a breakpoint cannot be undone.
See also Redo Reset Undo Disable Undo Open undo history
中文翻译:
名称:Undo此命令将数据库恢复到执行最后一个用户操作之前的状态。可以多次应用“撤消”,在这种情况下,将恢复多个用户操作。
请注意,整个数据库将被恢复,包括执行用户操作后对数据库所做的所有修改,以及未连接到用户操作的修改。例如,如果第三方插件在
用户操作期间或之后修改了数据库,则此修改将
被恢复。理论上,可以回到最初的状态,并将数据库恢复到
执行第一次用户操作后立即出现的状态。然而,在实践中,由于自动分析所做的更改,撤消缓冲区溢出。自动分析会
生成大量的撤消数据。此外,请注意,在自动分析过程中维护undodate会使速度减慢一点。在实践中,这并不是什么大不了的事,
因为撤消数据的限制很快就达到了(几分钟内)。因此,如果在分析过程中用户没有执行任何修改数据库的操作,撤消功能将暂时关闭。
但是,如果你不想在初始自动分析过程中收集撤消数据,
只需关闭ida.cfg中的UNDO_DURING_AA参数。
配置文件ida.cfg还有两个与撤消相关的参数:
UNDO_MAXSIZE撤消缓冲区的最大大小;默认值:128MB一旦达到此限制,将忘记有关最旧用户操作的撤消信息。
UNDO_DEPTH要记住的用户操作的最大数量;默认值:1000000如果设置为0,撤消功能将不可用。
由于撤消缓冲区的大小有限制,任何操作,即使是最微小的操作,都可能在一段时间后变得不可撤消。这是真的,因为analysis或插件可能会继续修改数据库并使缓冲区溢出。一些大规模操作,如删除段,可能是不可撤消的,因为它们生成的撤消数据量太大。
请注意,撤消不会影响IDC或Python脚本的状态。脚本
变量不会因为“撤消”而更改其值。此外,
数据库外部的任何内容都不能更改:创建的文件不会被删除,等等。
有些操作无法撤消。例如,启动调试器或从断点恢复是无法撤消的。
另请参阅重做重置撤消禁用撤消打开撤消历史记录
展开阅读全文
︾
读者也喜欢这些内容:
IDA8.4新版发布:界面大更新!反编译精度提升!附下载
逆向工程领域的佼佼者,IDA Pro,再次以其最新版本8.4引领技术潮流。本次更新不仅延续了IDA Pro一贯的专业性能,更在用户体验和功能上带来了一系列创新和改进。我们诚邀广大用户前往IDA中文网站(https://www.idapro.net.cn/)下载并体验IDA 8.4的最新功能。...
阅读全文 >
IDA怎么修改字符串内容?IDA修改后怎么保存?
在软件开发和逆向工程领域,IDA Pro是一种极其强悍的工具,广泛用于程序剖析、调试和修改。它不仅支持多种处理器架构,还提供了大量的作用,以适应高档讲解的必须。本文将围绕ida怎么修改字符串内容,ida修改后怎么保存这一主题,详细描述怎样在IDA中更改字符串内容,及其修改后的存放方式。此外,我们还将探讨IDA转变的应用场景,帮助读者更深入地了解IDA的实际应用价值。...
阅读全文 >
IDA Pro 键盘快捷键(Shortcut keys)
...
阅读全文 >
代码动态分析工具有哪些 IDA如何动态分析代码
代码动态分析是一种在代码执行过程中对程序进行监控和分析的技术。通过动态分析,可以获取程序在运行时的行为、内存状态和执行路径,有助于发现潜在的漏洞、异常和安全风险。...
阅读全文 >