IDA Plug-in - FRIEND
FRIEND作为IDA的一款插件,可以提升反汇编的效果,并且能够在IDA中显示寄存器/指令的提示文档,使IDA更加得心应手。
一、安装事项
本实验安装环境:
MacOS 10.12.6 Xcode 8.3.3 IDA 6.8
安装过程:
-
下载FRIEND:FRIEND下载地址 FRIEND插件依赖两个SDK:idasdk和hexrays_sdk,编译前需要先下载这两个SDK,将内容拷贝到相应目录。否则会出现编译失败。

- 定位到FRIEND目录下,执行以下命令:
$ mkdir _build $ cd _build $ cmake [-DUSE_HEXRAYS=OFF] .. $ make - 在
_build目录下可以看到相应的二进制文件已经生成:
插件生成之后,按照原文的描述,需要复制到/Applications/IDA Pro 6.95/idabin/plugins这个目录,但是我发现保存到idabin/plugins之后打开ida是找不到这个插件的,我实际保存到的目录是/Applications/idaq.app/Contents/MacOS/plugins
再重新打开IDA,点击Edit –> Plugins就可以看到FRIEND插件了。
二、插件的配置
-
接上一步骤,点击FRIEND,进入插件配置界面:

-
选择你想要关联的说明文档。在
/FRIEND-master/Configurations目录下有两个XML文件,这里我们选择AArch64_armv8arm_k.xml。导入后,选择自己想要文档化的内容,并勾选下面三个勾,允许做处理器扩展、允许显示提示、允许显示函数概要。点击OK。

配置完成后,来看看效果:
-
指令/寄存器的解释,再也不用手动去搜了:

-
指令更明了:

-
显示函数的概要:

三、编辑提示文档
FRIEND还提供了编辑提示文档的功能。使用FRIEND中提供的工具FRIEND Hint Editor对/FRIEND-master/Configurations/AArch64_armv8arm_k.xml进行编辑。
- 这个工具也在
FRIEND-master/目录下,同样也需要手动创建:
$ cd HintEditor/HintEditor/
$ mkdir _build
$ cd _build
$ cmake -G Xcode ..
$ xcodebuild
-
创建成功后,在
HintEditor/HintEditor/Debug/目录下生成了HintEditor.app,运行并打开AArch64_armv8arm_k.xml文件,看到如下界面后,便可进行添加、删除、编辑条目的操作了:
-
记得替换
AArch64_armv8arm_k.xml文件中的文档指定路径,
-
修改后可以右击条目,选择
Show Documentation,会调起浏览器访问你所指定的ARM文档,检索你所选中的条目。

以上就是FRIEND插件的安装、配置和使用。看到这相信你也一定感受到这个插件所带来的便利了吧。