查看原文
其他

IDA 插件- FRIEND 的安装和使用

2017-12-13 我有亲友团 看雪学院


FRIEND(点击左下角阅读原文,下载查看)

 


一、FRIEND介绍



FRIEND是反汇编软件 IDA 的一个功能增强插件。它能提高 IDA 反编译结果的可读性,为指令和寄存器提供参考文档。其主要功能如下:


  1. 利用第三方的库(如:Capstone)提高反汇编结果的可读性。

  2. 显示指令和寄存器对应的信息。

  3. 在外部的浏览器中打开指令或寄存器对应的参考文档。

  4. 显示函数的调用总结。

  5. 开启和关闭不同的指令及寄存器的提示信息。



二、环境要求



FRIEND 支持 Windows、Linux 和 macOS。不同的平台,需要的软件稍有不同,如下:


  1. CMake 3.3及以上版本。

  2. 编译器:GCC 或着 Clang(Linux、macOS)、Visual Studio 2015 或更高版本(Windows)。

  3. Git

  4. IDA SDK

  5. Hex-Rays SDK( macOS 下的 Hex-Rays SDK 在 IDA 的安装目录下的 Contents/MacOS/plugins/hexrays_sdk 目录中,可选)

 

注:

  • 本文使用的环境是 macOS、IDA6.8,部分功能失效。

  • CMake如无法直接在终端中使用,则需要手动添加路径



export PATH=$PATH:/Applications/CMake.app/Contents/bin



三、编译安装FRIEND



  1. 下载 FRIEND

  2. 下载依赖 SDK:idasdk、hexrays_sdk,并将内容拷贝到相应目录。

  3. 定位到 FRIEND 目录下,执行以下命令:


  4. $ mkdir _build    
  5. $ cd _build     
  6. $ cmake [-DUn/large/006tNc79gy1fjlimmgvx2j30hkSE_HEXRAYS=OFF] ..
  7. $ make
  8. 在 _build 目录下可以看到相应的二进制文件已经生成。插件生成之后,按照原文的描述,需要复制到 /Applications/IDA Pro 6.95/idabin/plugins 这个目录,但实际操作中保存到的目录是 /Applications/idaq.app/Contents/MacOS/plugins


再重新打开 IDA,点击 Edit --> Plugins 就可以看到FRIEND插件了。



四、使用 FRIEND



  1. 点击 FRIEND,进入插件配置界面:



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



配置完成后,来看看效果:


  1. 指令/寄存器的解释,再也不用手动去搜了:


  2. 指令更明了:

  3. 显示函数的概要:



五、配置编辑工具 HintEditor



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 插件的安装、配置和使用。看到这相信你也一定感受到这款插件所带来的便利了吧。


2017.08 小组实验操作。成员:布兜儿,寒, kiba, mAd mArk, 初见, chen, AloneMonkey





本文由看雪 iOS小组 原创

转载请注明来自看雪社区


热门阅读


点击阅读原文/read,

更多干货等着你~


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存