Ida Tipss


导入标准的结构体类型

点击左上角 View -> Subviews -> Open Subview -> Structures

在右侧结构体的内容区鼠标右键->Add Struct Type ->Add Standard Struct Type-> 搜索对应类型导入。

导出 data_base.idc 文件

在进行分析的时候,经常需要对一些变量进行类型转换,比如将 JNI 函数的第一个参数转化成 _JNIEnv 结构体指针。正常来说不会有什么问题,但是 IDAPro 不是很稳定,很容易弄着弄着 IDAPro 就崩溃了,导致 idb 文件损坏,定义的数据类型就消失了,并且 idb 文件不便于协作、分享。

可以点击File->Produce File->Dump database to IDC file,生成一个 idc 文件。这个文件包含了所有的类型定义、变量定义、函数定义的等等操作,只需要在 File->Script File 导入刚才导出的 IDC 文件就可以恢复符号信息。使用idc做持久化,而不是依赖idb会避免很多麻烦。

Rebase

动态调试退出之后,IDAPro 会自动地将内存起点的偏移转换成内存的相应位置。这对动静分析来说不是很友好。当使用 g 进行跳转时,就不得不在文件开头通过偏移量和静态分析的内容进行同步了。

可以通过 Edit->Segments->Rebase program 进行重新定位,偏移量改成0x0`即可。

重新加载文件

有时候不想退出 IDA,但又想重新分析整个文件,可以在 Options 这个选项里面,找一下 Reanalyze Progame 这个选项,就可以重新加载了。

快速选择区域

有时候就会遇到需要选择一个比较大范围地址的场景,写脚本会比较麻烦。这个时候可以选择按 Option+L 可以锚定一个点,接着再使用 Jump 相关的操作来快速选择一个区域。