FRIEND
一个灵活查看寄存器和指令的文档扩展工具。
原文地址: FRIEND
翻译: Chensh
特性
FRIEND是一个IDA插件,用于改善反汇编以及在IDA视图里面展示寄存器和指令文档。
- 使用第三方库来改进处理器模块。(例如Capstone)
再IDA视图和反汇编视图里,对指令和寄存器进行提示。
在浏览器中显示高亮选项的扩展引用。
在IDA视图和反汇编视图里显示函数功能摘要。
可以选择你感兴趣的元素进行展示。
如何编译
准备编译环境
想要编译IDA插件,需要满足以下的依赖:
- CMake 版本为3.3或更高。
- 再Linux或者MacOS上面使用GCC或者Clang;Windows上面使用Visual Studio 2015。
- Git。
- IDA SDK(解压为
idasdk
) - Hex-Rays SDK(拷贝并重命名为
hexrays_sdk
)
将IDA SDK的内容解压到idasdk
文件夹内。并将Hex-Rays SDK拷贝并重命名为hexrays_sdk
。在Linux或MacOS上面,你可以使用以下命令操作:
|
|
Linux
使用 cmake
命令准备编译环境,并运行 make
命令来编译插件:
|
|
MacOS
使用 cmake
命令准备编译环境,并运行 make
命令来编译插件:
|
|
如果你更倾向于使用Xcode工程来进行编译,那你可以运行以下命令来替换上面的步骤:
|
|
Windows
使用 cmake
命令准备编译环境,并运行 make
命令来编译插件:
|
|
安装
将编译出来的二进制文件拷贝到IDA Pro的插件目录里。以下是不同平台的默认路径:
系统 | 插件目录 |
---|---|
Linux | /opt/ida-6.95/plugins |
macOS | /Applications/IDA Pro 6.95/idabin/plugins |
Windows | %ProgramFiles(x86)%\IDA 6.95\plugins |
配置文件
内容讨论请查看 这里
FRIEND 配置文件遵循以下文件结构:
|
|
注意:你需要将你自己的pdf文件路径填充到上面的\
提示编辑器
为了使得本工程更加容易使用,这里有一个简单的配置编辑器。
注意: 这个编辑器只能在MacOS以及使用Xcode8及以上的环境才能够编译,其他系统不支持。
使用 cmake
命令来生成Xcode工程。
|
|
使用open
命令来启动应用程序:
|
|
依赖
FRIEND 依赖要求:
提醒编辑器依赖要求:
- AEXML (使用 Patches/aexml.diff 分支编译)
贡献者
@ in7egral, mbazaliy for bug reports and all kind of support
@ qwertyoruiopz, iH8sn0w, Morpheus______, xerub, msolnik, marcograss, pr0x13, _argp, oleavr, brinlyau and other gang for inspiration
@ _kamino_ for porting project to Windows and Linux
@ williballenthin for the idea of function summary