IDA Pro > IDA Pro教程 > 技术问题 > IDA pro撤消操作(Undo an action)

IDA pro撤消操作(Undo an action)

发布时间: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脚本的状态。脚本
变量不会因为“撤消”而更改其值。此外,
数据库外部的任何内容都不能更改:创建的文件不会被删除,等等。

有些操作无法撤消。例如,启动调试器或从断点恢复是无法撤消的。

另请参阅重做重置撤消禁用撤消打开撤消历史记录
 

展开阅读全文

标签:反汇编软件快捷键

读者也访问过这里:
邀请您进入交流群 点击扫码
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反编译插件怎么安装 IDA Pro反编译插件显示不出伪代码是怎么回事
很多人说的“反编译插件”,在IDA Pro里通常指Hex-Rays Decompiler这一套反编译组件,以及依赖它的增强插件。安装要点是把对应版本与架构的组件放到正确目录,并让IDA在启动时加载到菜单里;伪代码出不来,多半是组件没装对、没授权、没加载,或当前函数与当前处理器类型不满足反编译条件。
2026-03-05
IDA Pro反汇编工具怎么使用 IDA Pro反汇编工具指令流怎么看得更清楚
用IDA Pro做反汇编,第一步不是急着看函数,而是把装载方式、CPU架构、基址和分析选项对齐,让自动分析先把骨架搭出来。后面你觉得指令流乱、跳转看不懂,大多是代码与数据没分清、函数边界没修正、类型信息缺失这三类问题叠加造成的。
2026-03-04
IDA Pro教程怎么入门 IDA Pro教程里函数识别怎么学习
学IDA Pro更像学一套看图读谱的方法,先把界面里的信息流跑通,再把常用动作练到肌肉记忆,最后才是提高识别率与阅读效率。函数识别是入门后最容易卡壳的点,因为它既依赖自动分析,也依赖你手动补边界、补类型与补命名的习惯,还要会用FLIRT和Lumina这类“外部知识库”。
2026-03-03
IDA Pro逆向工程练习选什么样本 IDA Pro逆向工程学到哪算入门
在企业安全自检、软件兼容性排查或个人提升的客观场景里,逆向练习最容易走偏的两件事,一是样本选得不对,动不动就遇到加壳、反调试、超大工程,学了半天只剩挫败感,二是没有一条清晰的入门边界,做了很多零碎操作却说不清自己是否已经具备独立分析能力。下面把样本怎么选、学到什么程度算入门,用能落地执行的方式拆开说明。
2026-02-03
IDA Pro so文件反编译怎么定位入口 IDA Pro so文件反编译函数名全是sub怎么办
so属于共享库,很多时候并不存在像可执行文件那样的main入口,所谓入口更像是三类起点:导出接口被谁调用、加载阶段有哪些初始化函数、以及关键字符串或关键API把你引到哪条调用链。另一边函数名全是sub,通常意味着符号被剥离或识别率不够,你需要把符号来源、签名识别、手工命名这三条线同时跑起来,才能把阅读成本降下来。
2026-02-03
Mac上IDA Pro反编译Mach-O怎么导入 Mac上IDA Pro反编译加载Framework失败怎么办
在Mac上做二进制分析时,Mach-O经常不是单个文件孤零零放着,而是和App包结构、Framework依赖、系统库加载方式绑在一起。你如果只把主程序拖进IDA Pro就开始看伪代码,往往会遇到函数识别不完整、外部符号全是占位名、甚至提示Framework找不到,结果看起来像反编译坏了。把导入流程和依赖加载一次做对,后面同类样本会省很多重复排查。
2026-02-03

通过微信咨询我们

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

读者也喜欢这些内容: