Instrumentación entre procesos para Windows x64 en TypeScript — engancha funciones, redirige hilos y lee/escribe memoria en otro proceso, sin inyección de DLL y sin CreateRemoteThread.
Instrumentación entre procesos y reflexión en tiempo de ejecución de la JVM para Windows x64, completamente desde TypeScript — engancha funciones nativas, redirige hilos, inspecciona memoria e interactúa con procesos Java/Minecraft en vivo sin inyección de DLL y sin CreateRemoteThread.
[!CAUTION] AVISO LEGAL Y ÉTICO Este repositorio contiene herramientas de ingeniería de software e instrumentación de ingeniería inversa. Se proporciona estrictamente con fines educativos, de análisis de seguridad e investigación de malware. Bajo ninguna circunstancia debe utilizarse este conjunto de herramientas para explotar software comercial, atacar sistemas en producción o eludir protecciones de endpoint en software protegido. Los autores y colaboradores no asumen ninguna responsabilidad por cualquier uso indebido, daño o consecuencia legal derivada de la ejecución o alteración de este código. Al clonar, compilar o hacer referencia a este repositorio, aceptas asumir todo el riesgo y la responsabilidad.
Exoproc combina instrumentación de sistemas Windows x64 de bajo nivel con reflexión en tiempo de ejecución de alto nivel en una interfaz de programación TypeScript unificada:
EB FE (bun-nhook) — la técnica insignia de Exoproc: un hook inline de 2 bytes sin asignación de memoria. Estaciona cualquier hilo que entre en la función, cede el control a JS, inspecciona/modifica argumentos, fuerza un valor de retorno, reanuda.bun-minhook) — un hook fiel al estilo MinHook de jmp de 5 bytes + trampolín/detour, pero el objetivo reside en otro proceso.CreateRemoteThread (bun-nthread) — cada llamada remota en este conjunto de herramientas se ejecuta suspendiendo y redirigiendo uno de los hilos vivos del propio objetivo, nunca creando uno nuevo ni inyectando shellcode.bun-xffi) — player.health = 100, entity.position.x, anidados y todo, respaldados 1:1 por memoria real (incluso remota).bun:ffi hasta el fondo (bun-xffi) — un JIT TinyCC en tiempo de ejecución para código máquina y un desensamblador Capstone para trabajo a nivel de instrucción.bun-njava) — Usa Java.type('java.lang.System') para interactuar con clases de JVM remotas, llamar a métodos estáticos/de instancia y acceder a campos directamente desde TypeScript.Throwable de Java (ClassNotFoundException, InvocationTargetException, etc.) se capturan y se desenvuelven en objetos Error estándar de JavaScript, capturables mediante try / catch estándar.Java.type, Java.from, Java.to) que funcionan incluso en runtimes modernos donde Nashorn fue eliminado.exoproc-tool) — Buscador de rutas de menú universal basado en grafos (/navigate), introspección de entidades/inventario en el juego y servidor Model Context Protocol (MCP) para agentes autónomos de IA en el juego.Escribe scripts de automatización en TypeScript limpio:
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}`);
}
Ejecuta al instante contra el proceso objetivo:
exoproc run script.ts
Salida:
[+] Java Version: 21.0.8
[-] Error: jdk.nashorn.api.scripting.NashornScriptEngine
| Paquete | Descripción |
|---|---|
exoproc | Biblioteca cliente de alto nivel, orquestación de daemon y puentes de Minecraft |
exoproc-tool | Comandos CLI (run, navigate, status) y servidor Model Context Protocol (MCP) |
bun-njava | Puentes de reflexión JNI y Agent, proxies de clase dinámicos (Java.type) y mapeos |
njava-agent | Inyección de bytecode Java de alta velocidad en proceso y agente RPC |
njava-runtime | Contextos de ejecución Java modulares y capa de compatibilidad con Nashorn |
bun-nhook | Hook de función inline de 2 bytes sin asignación (EB FE park & simulate) |
bun-minhook | Hook detour con trampolín JMP relativo de 5 bytes a través de límites de proceso |
bun-nthread | Motor de secuestro de hilos y redirección de contexto |
bun-xffi | Tipos C-ABI de bajo nivel, accesores de memoria y JIT TinyCC en tiempo de ejecución |
bun-winapi | Handles tipados de la API Win32, gestión de memoria y snapshots de procesos |
@exoproc/simulate | Máquina virtual x86_64 independiente en el navegador, kernel de simulación de SO y depurador |
docs | Sitio de documentación Next.js 16 + Fumadocs y laboratorios de depuración interactivos |
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)