Prozessübergreifende Instrumentierung für Windows x64 in TypeScript — Funktionen hooken, Threads umleiten und Speicher in einem anderen Prozess lesen/schreiben, ohne DLL-Injection und ohne CreateRemoteThread.
Prozessübergreifende Instrumentierung & JVM-Laufzeitreflexion für Windows x64, vollständig aus TypeScript — native Funktionen hooken, Threads umleiten, Speicher inspizieren und mit laufenden Java/Minecraft-Prozessen interagieren, ganz ohne DLL-Injection und ohne CreateRemoteThread.
[!CAUTION] RECHTLICHER & ETHISCHER HAFTUNGSAUSSCHLUSS Dieses Repository enthält Software-Engineering- und Reverse-Engineering-Instrumentierungswerkzeuge. Es wird ausschließlich zu Bildungszwecken, zur Sicherheitsanalyse und zur Malware-Forschung bereitgestellt. Unter keinen Umständen darf dieses Toolkit dazu verwendet werden, kommerzielle Software auszunutzen, Produktionssysteme anzugreifen oder Endpunktschutz in geschützter Software zu umgehen. Die Autoren und Mitwirkenden übernehmen keine Haftung für jeglichen Missbrauch, Schaden oder rechtliche Konsequenzen, die sich aus der Ausführung oder Veränderung dieser Codebasis ergeben. Durch das Klonen, Kompilieren oder Referenzieren dieses Repositorys erklären Sie sich damit einverstanden, alle Risiken und Verantwortung zu übernehmen.
Exoproc kombiniert Low-Level-Instrumentierung von Windows-x64-Systemen mit High-Level-Laufzeitreflexion in einer einheitlichen TypeScript-Programmierschnittstelle:
EB FE Park-and-Simulate-Hooking (bun-nhook) — Exoprocs Flaggschiff-Technik: ein allokationsfreier 2-Byte-Inline-Hook. Jeder Thread, der in die Funktion eintritt, wird geparkt, die Kontrolle an JS übergeben, Argumente inspiziert/modifiziert, ein Rückgabewert erzwungen und fortgesetzt.bun-minhook) — ein originalgetreuer MinHook-artiger 5-Byte-jmp- + Trampoline/Detour-Hook, bei dem das Ziel jedoch in einem anderen Prozess liegt.CreateRemoteThread (bun-nthread) — jeder Remote-Aufruf in diesem Toolkit erfolgt durch Suspendieren und Umleiten eines der eigenen laufenden Threads des Ziels, niemals durch Erzeugen eines neuen Threads oder Injizieren von Shellcode.bun-xffi) — player.health = 100, entity.position.x, verschachtelt und alles, 1:1 durch echten (sogar entfernten) Speicher gestützt.bun:ffi bis hinunter zur untersten Ebene (bun-xffi) — ein Laufzeit-TinyCC-JIT für Maschinencode und ein Capstone-Disassembler für Arbeit auf Instruktionsebene.bun-njava) — Verwenden Sie Java.type('java.lang.System'), um mit entfernten JVM-Klassen zu interagieren, statische/Instanzmethoden aufzurufen und direkt aus TypeScript auf Felder zuzugreifen.Throwable-Exceptions (ClassNotFoundException, InvocationTargetException usw.) werden abgefangen und in standardmäßige JavaScript-Error-Objekte entpackt, die über standardmäßiges try / catch abgefangen werden können.Java.type, Java.from, Java.to), die auch auf modernen Laufzeiten funktionieren, in denen Nashorn entfernt wurde.exoproc-tool) — Graphbasierter universeller Menü-Pathfinder (/navigate), In-Game-Entity-/Inventar-Introspektion und Model Context Protocol (MCP)-Server für autonome KI-Gameplay-Agenten.Schreiben Sie Automatisierungsskripte in sauberem 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}`);
}
Sofort gegen den Zielprozess ausführen:
exoproc run script.ts
Ausgabe:
[+] Java Version: 21.0.8
[-] Error: jdk.nashorn.api.scripting.NashornScriptEngine
| Paket | Beschreibung |
|---|---|
exoproc | High-Level-Client-Bibliothek, Daemon-Orchestrierung und Minecraft-Bridges |
exoproc-tool | CLI-Befehle (run, navigate, status) und Model Context Protocol (MCP)-Server |
bun-njava | JNI- & Agent-Reflexions-Bridges, dynamische Klassen-Proxies (Java.type) und Mappings |
njava-agent | In-Process-Hochgeschwindigkeits-Java-Bytecode-Injection und RPC-Agent |
njava-runtime | Modulare Java-Ausführungskontexte und Nashorn-Kompatibilitätsschicht |
bun-nhook | Allokationsfreier 2-Byte-Inline-Funktions-Hook (EB FE Park & Simulate) |
bun-minhook | 5-Byte-JMP-relativer Trampoline-Detour-Hook über Prozessgrenzen hinweg |
bun-nthread | Thread-Hijacking- und Kontext-Umleitungs-Engine |
bun-xffi | Low-Level-C-ABI-Typen, Speicher-Accessoren und Laufzeit-TinyCC-JIT |
bun-winapi | Typisierte Win32-API-Handles, Speicherverwaltung und Prozess-Snapshots |
@exoproc/simulate | Eigenständige In-Browser-x86_64-Virtualmaschine, OS-Simulationskernel und Debugger |
docs | Next.js 16 + Fumadocs-Dokumentationsseite und interaktive Debugging-Labs |
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)