TypeScript 实现的 Windows x64 跨进程插桩——钩取函数、重定向线程,并读写另一进程的内存,无需 DLL 注入,也无需 CreateRemoteThread。
面向 Windows x64 的跨进程插桩与 JVM 运行时反射,完全使用 TypeScript 实现——挂钩原生函数、重定向线程、检查内存,并与运行中的 Java/Minecraft 进程交互,无需 DLL 注入,也不使用 CreateRemoteThread。
[!CAUTION] 法律与道德免责声明 本仓库包含软件工程与逆向工程插桩工具。其提供严格限于教育目的、安全分析和恶意软件研究。 在任何情况下,本工具包均不得用于利用商业软件、攻击生产系统,或绕过受保护软件中的终端防护。 作者与贡献者对因执行或修改本代码库而导致的任何滥用、损害或法律后果不承担任何责任。通过克隆、编译或引用本仓库,即表示您同意承担所有风险与责任。
Exoproc 将底层 Windows x64 系统插桩与高层运行时反射结合为统一的 TypeScript 编程接口:
EB FE 驻留并模拟挂钩(bun-nhook)——Exoproc 的旗舰技术:一种无分配(allocation-free)的 2 字节内联挂钩。驻留任何进入该函数的线程,将控制权交给 JS,检查/修改参数,强制返回值,然后恢复。bun-minhook)——忠实于 MinHook 风格的 5 字节 jmp + 蹦床/绕行挂钩,但目标位于另一个进程中。CreateRemoteThread(bun-nthread)——本工具包中的每次远程调用都通过挂起并重定向目标自身的一个活动线程来运行,从不创建新线程或注入 shellcode。bun-xffi)——player.health = 100、entity.position.x,支持嵌套等,由真实(甚至远程)内存 1:1 支撑。bun:ffi(bun-xffi)——用于机器码的运行时 TinyCC JIT,以及用于指令级工作的 Capstone 反汇编器。bun-njava)——使用 Java.type('java.lang.System') 与远程 JVM 类交互,调用静态/实例方法,并直接从 TypeScript 访问字段。Throwable 异常(ClassNotFoundException、InvocationTargetException 等)会被捕获并解包为标准 JavaScript Error 对象,可通过标准 try / catch 捕获。Java.type、Java.from、Java.to),即使在已移除 Nashorn 的现代运行时上也能正常工作。exoproc-tool)——基于图的通用菜单寻路器(/navigate)、游戏内实体/物品栏内省,以及用于自主 AI 游戏代理的模型上下文协议(MCP)服务器。使用简洁的 TypeScript 编写自动化脚本:
import { Java } from 'exoproc';
// 1. Read Java version from target JVM process
const System = Java.type('java.lang.System');
print(`[+] Java Version: ${System.getProperty('java.version')}`);
// 2. Access JVM classes or handle missing APIs cleanly
try {
const Nashorn = Java.type('jdk.nashorn.api.scripting.NashornScriptEngine');
print('[+] Nashorn engine ready');
} catch (err: any) {
print(`[-] Error: ${err.message}`);
}
针对目标进程立即执行:
exoproc run script.ts
输出:
[+] Java Version: 21.0.8
[-] Error: jdk.nashorn.api.scripting.NashornScriptEngine
| 包 | 描述 |
|---|---|
exoproc | 高层客户端库、守护进程编排与 Minecraft 桥接 |
exoproc-tool | CLI 命令(run、navigate、status)与模型上下文协议(MCP)服务器 |
bun-njava | JNI 与 Agent 反射桥接、动态类代理(Java.type)与映射 |
njava-agent | 进程内高速 Java 字节码注入与 RPC 代理 |
njava-runtime | 模块化 Java 执行上下文与 Nashorn 兼容层 |
bun-nhook | 无分配的 2 字节内联函数挂钩(EB FE 驻留并模拟) |
bun-minhook | 跨进程边界的 5 字节 JMP 相对蹦床绕行挂钩 |
bun-nthread | 线程劫持与上下文重定向引擎 |
bun-xffi | 底层 C-ABI 类型、内存访问器与运行时 TinyCC JIT |
bun-winapi | 类型化 Win32 API 句柄、内存管理与进程快照 |
@exoproc/simulate | 独立的浏览器内 x86_64 虚拟机、操作系统模拟内核与调试器 |
docs | Next.js 16 + Fumadocs 文档站点与交互式调试实验室 |
bun install # install dependencies & Capstone assets
bun run build # build all monorepo packages
bun test # run unit test suite
bun run web # start local documentation website (http://localhost:3000)
请参阅 examples/ 获取针对真实目标进程的独立、可运行演示项目。
完整的土耳其语和英语文档、交互式调试器实验室与架构指南可在 apps/docs 中获取,或通过以下方式访问:
bun run web
请参阅 CONTRIBUTING.md 了解开发环境设置、Wine 测试工作流与编码标准。
发现了漏洞?请参阅 SECURITY.md 了解如何负责任地报告,而不是公开提交 issue。
GNU AGPL-3.0-or-later — 版权所有 (C) 2026 Serkan Aksoy。仅为合法安全研究和教育目的提供;您需对自己的使用方式负责。有意选择该许可证而非宽松许可证:任何修改版本——包括作为网络服务运行的版本——都必须以相同条款向其用户提供相应源代码。