
Instrumentação entre processos para Windows x64 em TypeScript — funções de hook, redirecionamento de threads e leitura/escrita de memória em outro processo, sem injeção de DLL e sem CreateRemoteThread.
Instrumentação entre processos e reflexão em tempo de execução da JVM para Windows x64, inteiramente em TypeScript — faça hook de funções nativas, redirecione threads, inspecione memória e interaja com processos Java/Minecraft em execução sem injeção de DLL e sem CreateRemoteThread.
[!CAUTION] AVISO LEGAL E ÉTICO Este repositório contém ferramentas de engenharia de software e instrumentação de engenharia reversa. É fornecido estritamente para fins educacionais, análise de segurança e pesquisa de malware. Em nenhuma circunstância este kit de ferramentas deve ser usado para explorar software comercial, atingir sistemas de produção ou contornar proteções de endpoint em software protegido. Os autores e contribuidores não assumem qualquer responsabilidade por qualquer uso indevido, dano ou consequência legal resultante da execução ou alteração desta base de código. Ao clonar, compilar ou referenciar este repositório, você concorda em assumir todo o risco e responsabilidade.
O Exoproc combina instrumentação de sistemas Windows x64 de baixo nível com reflexão em tempo de execução de alto nível em uma interface de programação TypeScript unificada:
EB FE (bun-nhook) — a técnica principal do Exoproc: um hook inline de 2 bytes sem alocação. Estacione qualquer thread que entre na função, entregue o controle ao JS, inspecione/modifique argumentos, force um valor de retorno, retome.bun-minhook) — um hook fiel no estilo MinHook de jmp de 5 bytes + trampolim/detour, mas o alvo reside em outro processo.CreateRemoteThread (bun-nthread) — toda chamada remota neste kit de ferramentas é executada suspendendo e redirecionando uma das próprias threads ativas do alvo, nunca criando uma nova ou injetando shellcode.bun-xffi) — player.health = 100, entity.position.x, aninhados e tudo mais, respaldados 1:1 por memória real (até mesmo remota).bun:ffi até o fundo (bun-xffi) — um JIT TinyCC em tempo de execução para código de máquina e um disassembler Capstone para trabalho em nível de instrução.bun-njava) — Use Java.type('java.lang.System') para interagir com classes de JVM remotas, chamar métodos estáticos/de instância e acessar campos diretamente do TypeScript.Throwable (ClassNotFoundException, InvocationTargetException, etc.) são capturadas e desempacotadas em objetos Error padrão do JavaScript, capturáveis via try / catch padrão.Java.type, Java.from, Java.to) que funcionam até em runtimes modernos onde o Nashorn foi removido.exoproc-tool) — Pathfinder universal de menus baseado em grafos (/navigate), introspecção de entidades/inventário no jogo e servidor Model Context Protocol (MCP) para agentes autônomos de IA em jogos.Escreva scripts de automação em TypeScript limpo:
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}`);
}
Execute instantaneamente contra o processo alvo:
exoproc run script.ts
Saída:
[+] Java Version: 21.0.8
[-] Error: jdk.nashorn.api.scripting.NashornScriptEngine
| Pacote | Descrição |
|---|---|
exoproc | Biblioteca cliente de alto nível, orquestração de daemon e pontes para Minecraft |
exoproc-tool | Comandos CLI (run, navigate, status) e servidor Model Context Protocol (MCP) |
bun-njava | Pontes de reflexão JNI e Agent, proxies de classe dinâmicos (Java.type) e mapeamentos |
njava-agent | Injeção de bytecode Java de alta velocidade em processo e agente RPC |
njava-runtime | Contextos de execução Java modulares e camada de compatibilidade com Nashorn |
bun-nhook | Hook de função inline de 2 bytes sem alocação (EB FE park & simulate) |
bun-minhook | Hook detour com trampolim JMP relativo de 5 bytes através de limites de processos |
bun-nthread | Motor de sequestro de threads e redirecionamento de contexto |
bun-xffi | Tipos C-ABI de baixo nível, acessadores de memória e JIT TinyCC em tempo de execução |
bun-winapi | Handles tipados da API Win32, gerenciamento de memória e snapshots de processos |
@exoproc/simulate | Máquina virtual x86_64 autônoma no navegador, kernel de simulação de SO e depurador |
docs | Site de documentação Next.js 16 + Fumadocs e laboratórios interativos de depuração |
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)
Veja examples/ para projetos de demonstração autônomos e executáveis contra processos alvo reais.