ninja插件简介

ninja插件简介

六月 20, 2018

本来天大大哥说打算买一个ninja,然后就凑到了9个人。打算是十个人的话就忍痛买个$599.结果。。。结果。。。反正,向JD财团低头就对了。

ninja插件简介

关于ninja

官网

这里就放一下ninja的安利文

https://blog.trailofbits.com/2016/06/03/2000-cuts-with-binary-ninja/

https://www.trailofbits.com/research-and-development/binja

插件地址

Plugins

安装插件

1
2
3
git clone https://github.com/Vector35/community-plugins.git

git submodule update --init --recursive

插件位置:

1
2
3
4
5
OS X: ~/Library/Application Support/Binary Ninja/plugins/

Linux: ~/.binaryninja/plugins/

Windows: %APPDATA%\Binary Ninja\plugins

官方文档

插件简介

Annotator

在遇到libc函数调用时,该插件使用虚拟堆栈来注释先前的指令,并给出适当的注释,说明参数原型。

Keyhole

该插件迭代给定二进制文件中的所有已识别函数的

  • 指令数量
  • 基本块的数量
  • 函数调用次数
  • 正在调用给定函数的次数。

把收集的信息以表格形式呈现,按照指令的数量排序。

Syscall annotator

在遇到系统调用时,它会用检索的参数进行注释。

SyscallIdentify

SyscallIdentify是一个插件,用于标识所调用的系统调用并在注释中将其写入名称。

Windows API Annotator

注释Windows API函数调用参数

Bookmarks

这个插件使Binary Ninja用户可以为感兴趣的地址添加书签,并在以后快速导航回他们。

由于用于将用户数据加载并保存到分析数据库的API尚不可用,因此现在必须手动保存书签并将其加载到单独的文件中。

CLIPPER Architecture Plugin

用于CLIPPER体系结构的反汇编程序和提升程序,以及用于CLIPPER ROM映像和COFF对象/可执行文件的装载程序。

这个插件拆卸CLIPPER汇编代码并生成LLIL。

该插件还包含三个二进制视图,其中第一个可以加载InterPro计算机系统启动和闪存ROM映像。第二个设计用于处理CLIX使用的COFF可执行文件和目标文件(用于CLIPPER系统的UNIX SYSVR3)。第三个二进制视图处理磁盘分区映像,特别是REBUILD和FDMDISK引导软盘映像(以及I / O系统监视器,蓝屏实用程序和诊断代码)。

CLIPPER架构插件有以下已知问题:不使用r15以外的寄存器进行堆栈操作。一些C400指令未实现,特别是延迟分支。

Frida Plugin

将Frida动态仪器工具包集成到Binary Ninja中的插件。

这个插件利用Frida动态检测框架来简化Binary Ninja中的动态分析。

该插件使用函数定义和类型信息(由Binary Ninja或用户输入标识)来自动定义Frida本地函数。

要拦截一个功能,用户需要做的就是从选项菜单中选择拦截按钮。
一旦函数被截获,无论何时该函数被调用,默认情况下,参数和返回值都将被记录到Binary Ninja日志中。

Frida的Hook行为也可以由用户修改。

LC-3 Architecture Plugin

用于反汇编Little Computer 3架构代码的插件

Symbols Generator

创建符号并在mach-o二进制文件中重命名函数以帮助反转。这仅适用于x86_64 Mach-O二进制文件,并且尚未在x86上进行测试。另外,“Mach-O绑定符号”需要dyldinfo。(在目标文件中显示dyld信息)

MSP430 Architecture Plugin

MSP430架构的反汇编程序并生成LLIL。

Pasticciotto Architecture Plugin

Pasticciotto架构的反汇编程序码。

binaryninja-radare2

这个插件允许Binary Ninja利用radare2的线性扫描(Binja目前不提供)。

Search Immediate

和名字一样,用来搜索立即数。

SPU Cell Architecture Plugin

SPU Cell架构的反汇编程序。

VMNDH Architecture Plugin

VMNDH体系结构的反汇编程序和升级程序。

AVR plugin

这个插件增加了对binaryninja的AVR体系结构的支持。大多数结构可以正确识别。

msdn

用来查询MSDN API文档的插件。

arch_ref

提供有关当前体系结构的信息的插件。

explain_instruction

用来。。解释。。汇编指令,它以简单的英语解释了汇编指令的功能。

Function ABI plugin

ABI插件提供了一个用于以细粒度方式调整ABI的GUI。现在,调用约定和修饰寄存器可以调整。(用来调整sp)

Itanium C++ ABI Plugin

没看懂,反正是C++逆向优化的。。。

Sibyl

Sybil是一种基于其副作用识别标准功能的工具(看起来很玄学的东西)

binjago

binjago是一个静态分析和利用ninja插件形式的开发框架

Binjago目前提供插件来:

  • 计算x86和x86-64
  • ROP小工具识别二进制flat文件中的函数序言(固件)
  • 找到并应用注释到间接和直接的递归逻辑
  • 将注释应用于标准函数调用

binjatron

用于Voltron集成的Binary Ninja插件。

Features:

  • 在Binary Ninja的调试器中标记当前的指令指针
  • 标记在Binary Ninja的调试器中设置的断点
  • 在Binary Ninja中设置和删除调试器中的断点
  • 在Binary Ninja中使用调试器同步代码更新

Support:

  • 一切工作在LLDB(除了现在写内存)
  • GDB中的某些功能可能无法正常工作
  • 某些功能可能在WinDbg和VDB中运行,但尚未经过测试

BINoculars

集中静态分析中有用的特征。

BNHook

目前支持x86和x86_64 ELF可执行文件。在程序集中编写一个Hook,并将它作为二进制文件的一部分执行。将Hook添加到二进制文件中,并反映在反汇编图中。二进制代码段被扩展以腾出空间。插入后,将内容另存为并使用插入的代码运行二进制文件。

bnil-graph

在BNIL指令树中进行图形化

bnpy

用来反汇编原始python字节码。

CryptoScan

可以识别加密方式的插件,类似于IDA的Findcrypt。

Djumpo Unchained

去除混淆链式跳转。

easypatch

允许从右键菜单修补内存操作数。

Intel 8051 Family Architecture Plugin

针对各种基于MCS-51的芯片的反汇编程序。

Simple Linear Sweep for BinaryNinja

针对x86和x86_64的简单线性扫描。它通过搜索共同序言来识别功能,并通过分析创建的功能来尝试避免一些误报。(看不懂看不懂)

llvm-deobfuscator

去除OLLVM混淆,不多说。。(我TM吹爆)

Nampa - FLIRT for (binary) ninjas

IDA Pro的FLIRT技术和Binary Ninja插件的纯Python实现

RetDec Offline Decompiler

该插件使用RetDec将代码机反编译为C代码

ripr

没理解错的话,在python中调用二进制文件中的某功能

Trickle-Down Variables

许多MLIL变量不会做任何事情,只需将数据从location传送到另一个location。通过查看MLIL var定义和用法,可以识别这些情况并自动重命名所涉及的变量。

x64dbgbinja

官方的x64dbg插件

Xref Call Finder

调用关系的视图。

后话

对!你没猜错!我就是对照官方文档写的!