Instrumentation inter-processus pour Windows x64 en TypeScript — fonctions de hook, redirection de threads et lecture/écriture de mémoire dans un autre processus, sans injection de DLL ni CreateRemoteThread.
Instrumentation inter-processus et réflexion d'exécution JVM pour Windows x64, entièrement depuis TypeScript — hookez des fonctions natives, redirigez des threads, inspectez la mémoire et interagissez avec des processus Java/Minecraft en direct, sans aucune injection de DLL ni CreateRemoteThread.
[!CAUTION] AVERTISSEMENT JURIDIQUE ET ÉTHIQUE Ce dépôt contient des outils d'ingénierie logicielle et d'instrumentation de rétro-ingénierie. Il est fourni strictement à des fins éducatives, d'analyse de sécurité et de recherche sur les malwares. En aucun cas cette boîte à outils ne doit être utilisée pour exploiter des logiciels commerciaux, cibler des systèmes de production ou contourner des protections d'endpoint dans des logiciels protégés. Les auteurs et contributeurs déclinent toute responsabilité pour tout usage abusif, dommage ou conséquence juridique résultant de l'exécution ou de la modification de cette base de code. En clonant, compilant ou référençant ce dépôt, vous acceptez d'assumer tous les risques et responsabilités.
Exoproc combine une instrumentation bas niveau des systèmes Windows x64 avec une réflexion d'exécution de haut niveau dans une interface de programmation TypeScript unifiée :
EB FE (bun-nhook) — la technique phare d'Exoproc : un hook inline de 2 octets sans allocation. Parquez n'importe quel thread qui entre dans la fonction, cédez le contrôle à JS, inspectez/modifiez les arguments, forcez une valeur de retour, reprenez.bun-minhook) — un hook fidèle de style MinHook avec jmp de 5 octets + trampoline/detour, mais la cible réside dans un autre processus.CreateRemoteThread (bun-nthread) — chaque appel distant dans cette boîte à outils s'exécute en suspendant et redirigeant l'un des threads vivants de la cible, jamais en en créant un nouveau ni en injectant du shellcode.bun-xffi) — player.health = 100, entity.position.x, imbriqués et tout le reste, adossés 1:1 à de la mémoire réelle (même distante).bun:ffi jusqu'au bout (bun-xffi) — un JIT TinyCC à l'exécution pour le code machine et un désassembleur Capstone pour le travail au niveau instruction.bun-njava) — Utilisez Java.type('java.lang.System') pour interagir avec des classes JVM distantes, appeler des méthodes statiques/d'instance et accéder aux champs directement depuis TypeScript.Throwable (ClassNotFoundException, InvocationTargetException, etc.) sont interceptées et déballées en objets Error JavaScript standard, capturables via try / catch classique.Java.type, Java.from, Java.to) qui fonctionnent même sur les runtimes modernes où Nashorn a été supprimé.exoproc-tool) — Pathfinder universel de menus basé sur graphe (/navigate), introspection des entités/inventaire en jeu, et serveur Model Context Protocol (MCP) pour agents de jeu IA autonomes.Écrivez des scripts d'automatisation en TypeScript propre :
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}`);
}
Exécutez instantanément contre le processus cible :
exoproc run script.ts
Sortie :
[+] Java Version: 21.0.8
[-] Error: jdk.nashorn.api.scripting.NashornScriptEngine
| Paquet | Description |
|---|---|
exoproc | Bibliothèque cliente de haut niveau, orchestration de daemon et ponts Minecraft |
exoproc-tool | Commandes CLI (run, navigate, status) et serveur Model Context Protocol (MCP) |
bun-njava | Ponts de réflexion JNI & Agent, proxys de classes dynamiques (Java.type) et mappings |
njava-agent | Injection de bytecode Java haute vitesse in-process et agent RPC |
njava-runtime | Contextes d'exécution Java modulaires et couche de compatibilité Nashorn |
bun-nhook | Hook de fonction inline de 2 octets sans allocation (EB FE park & simulate) |
bun-minhook | Hook detour par trampoline JMP relatif de 5 octets à travers les frontières de processus |
bun-nthread | Moteur de détournement de threads et de redirection de contexte |
bun-xffi | Types C-ABI bas niveau, accesseurs mémoire et JIT TinyCC à l'exécution |
bun-winapi | Handles d'API Win32 typés, gestion mémoire et instantanés de processus |
@exoproc/simulate | Machine virtuelle x86_64 autonome dans le navigateur, noyau de simulation OS et débogueur |
docs | Site de documentation Next.js 16 + Fumadocs et laboratoires de débogage interactifs |
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)