Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
oni-framework — 使用 C/C# 编写的嵌入式系统 C2 软件 | Kitploit
工具/GitHubGitHub/kiwidoggie/oni-framework
嵌入式系统安全调试器命令与控制硬件安全远程访问工具固件分析Archived
GitHubkiwidoggie/oni-framework

oni-framework

使用 C/C# 编写的嵌入式系统 C2 软件

查看仓库
19127年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Oni-Framework

Oni 框架是一个用于嵌入式设备软件开发的平台。它用于远程调试/为嵌入式设备添加功能。目前,其核心概念是一个完全模块化的插件系统,支持本地和远程 RPC。该框架设计为在 ring-0 特权级别运行,但经过一些调整也可以在 ring-3 级别使用。请注意,这不适合生产环境使用,仅供希望获得简便研究构建平台的开发人员使用。

  • 目前该项目仍在开发中,可能尚未完全测试
  • 需要具备较好的 C/C# 知识
  • 魔法

新功能!

当前支持的功能

  • 完全健壮的本地和远程 RPC 系统
  • 所有使用到的函数均已打桩(stub),以便于移植到不同平台
  • 文件传输工具
  • 彩色日志系统(可通过 UART 与 PUTTY 配合使用)

计划中的功能:

  • 调试框架
  • 远程包管理与安装
  • 设备间通信
  • 插件模块的热插拔加载与卸载
  • 从 ring-3 自提升至 ring-0(BYO-EntryPoint)

构建与安装

Oni-Framework 仅需你检出此目录,并在 oni/utils/kdlsym/default.h 文件中补全所有必需的实现。之后,使用 gcc 或 clang 即可正常编译并生成可执行文件。你需要自带(BYO)执行方式,但对于大多数嵌入式设备,可以通过 ssh shell、telnet shell 或任何其他 shell 来完成。其他设备可能需要先加载到运行中的内存上下文,然后跳转到 main,由它负责处理所有初始化问题。

  1. 克隆仓库 git clone https://github.com/kiwidoggie/oni-framework.git a. 可选:设置 FreeBSD 头文件位置 export BSD_INC="/path/to/freebsd/headers/include"
  2. 如果你是首次构建,必须运行 make create,它将创建文件夹结构
  3. 使用 make 构建 a. 如果尚未设置环境变量,可以使用 make BSD_INC=/path/to/freebsd/headers/include 进行构建

移植到不同平台

Oni-Framework 不依赖功能完整的 libc,其设计目标是在满足所有前置条件的情况下完全独立地构建和运行。相反,所需功能是通过运行中进程上下文或内核上下文(后者是唯一经过测试的)中最基本的现有函数拼接而成的。

  1. 通过在 include/oni/utils/kdlsym/my_platform.h 中创建新的头文件,来创建新的 kdlsym(内核动态符号解析)目标
  2. 将 include/oni/utils/kdlsym/default.h 的内容复制并粘贴到你新建的头文件中
  3. 将你的新目标添加到 include/oni/utils/kdlsym.h 中
root@kitploit:~
#if ONI_PLATFORM==ONI_UNKNOWN_PLATFORM
#include "kdlsym/default.h"
#elif ...
#elif ONI_PLATFORM==ONI_MY_PLATFORM
#include "kdlsym/my_platform.h"
#endif
  1. 将你的目标添加到位于 include/oni/config.h 的配置文件中
root@kitploit:~
// Unknown device
#define ONI_UNKNOWN_PLATFORM		-1
#define ONI_MY_PLATFORM		5
  1. 通过将 #define ONI_PLATFORM ONI_UNKNOWN_PLATFORM 改为 #define ONI_PLATFORM ONI_MY_PLATFORM 来更改当前构建目标

开发者

如果你想贡献代码,只需提交 pull request。否则,目前该项目没有任何真正的支持。这一点将来可能会改变。

twitter @diwidog

消息布局

下载工具
位偏移位长度名称描述用途
03魔数这是一个简单的数据包头魔数,用于确保消息被正确处理必需:必须设置为 0101b 或 5(十进制)
34消息类别这描述了消息在 oni-framework 端应路由到的类别必需:最多 14 个类别(目前有 5 个在使用)
732错误/消息类型此字段包含错误代码或消息类型请求:必须设置为消息类型,目前通过 CRC32(MessageName) 计算;响应:设置为错误代码/返回值
3916有效载荷大小这是消息头之后的数据长度可选:如果没有有效载荷则设置为 0,否则将期望有数据
551请求如果消息是请求,此标志将设置为 1;如果是响应,则设置为 0必需
567保留保留忽略:设置为 0