行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2022-10-15 11: 37: 38
Action name: OpenLocalTypes
Each database has a local type library embedded into it. This type library (til) is used to store types that are local to the current database. They are usually created by parsing a header file.
This command opens the local types window. The user can manipulate local types here:
- the existing types can be modified (the default hotkey is Ctrl-E)
- the existing types can be deleted (the default hotkey is Del)
- new types can be added (the default hotkey is Ins)
Please note that Ins can be used to add many types at once. For that the user just needs to enter multiple declarations, one after another in the dialog box.
However, Ctrl-E permits for editing of one type at a time. This may cause problems with complex structure types with nested types. Nested types will not be saved by Ctrl-E.
If the edited type corresponds to an idb type (struct or enum), then the corresponding type will be automatically synchronized. If the user modifies an idb type in the struct/enum windows, the corresponding local type will be updated too. So the type synchronization works both ways.
Some types in this list are created automatically by IDA. They are copies of the types defined in the Struct or Enum views. Such types are displayed using in gray, as if they are disabled.
Types displayed in black are considered as C level types. Read more.
Each type in the local type library has an ordinal number and may have a name.
Be careful when deleting existing types because if there are references to them, they will be invalidated.
A local type can be mapped to another type. Such an operation deletes the existing type and redirects all its references to the destination type. Circular dependencies are forbidden. In the case of a user mistake, a mapped type can be deleted and recreated with the correct information.
中文翻译如下:
每个数据库都嵌入有一个本地类型库(til)。该类型库用于存储当前数据库中特定的本地类型,通常是通过解析头文件创建的。
此命令打开本地类型窗口。用户可以在此处操作本地类型:
·可以修改现有类型(默认热键为Ctrl-E)
·可以删除现有类型(默认热键为Del)
·可以添加新类型(默认热键为Ins)
请注意,Ins可以用于一次添加多个类型。为此,用户只需在对话框中连续输入多个声明即可。
但是,Ctrl-E只允许编辑一个类型。这可能会导致具有嵌套类型的复杂结构类型的问题。嵌套类型将不会被Ctrl-E保存。
如果编辑的类型对应于idb类型(struct或enum),则相应的类型将自动同步。如果用户在结构/枚举窗口中修改了idb类型,则相应的本地类型也将更新。因此,类型同步工作双向进行。
此列表中的某些类型是由IDA自动生成的。它们是Struct或Enum视图中定义的类型的副本。这些类型以灰色显示,好像它们已被禁用。
黑色显示的类型被视为C级别类型。
本地类型库中的每种类型都有一个序号和名称。
删除现有类型时要小心,因为如果存在对它们的引用,它们将无效。
本地类型可以映射到另一种类型。这种操作会删除现有类型,并将所有引用重定向到目标类型。禁止循环依赖。如果用户出现错误,可以删除映射类型,并重新创建具有正确信息的类型。
展开阅读全文
︾