Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 1.47 KB

File metadata and controls

23 lines (15 loc) · 1.47 KB

Sprachen: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية

← DynCode-Compiler

Kernel-Modus (Ring-0) DynCode-Unterstützung

-fdyncode deckte ursprünglich nur Ring-3-Payloads ab. Ring-0-Payloads können die Ring-3-ABI nicht wiederverwenden: kein TEB/PEB, Syscall-Befehle sind User-zu-Kernel-Traps, x86_64 benötigt anderes Codemodell und Red-Zone-Deaktivierung.

1. -mdyncode-context={user,kernel}

  • User (Standard): PEB/Syscall-Pipeline.
  • Kernel: SyscallStub/WinPEB deaktiviert, Kernel-Flags injiziert, KernelImportPass aktiviert.

2–3. TargetDesc-Felder und Treiber-Flags

Level, KernelImport, KernelInjectFlags. x86_64: -mno-red-zone -mcmodel=kernel -mno-sse; AArch64: -mgeneral-regs-only.

4. KernelImportPass

Automatisches Umschreiben ungelöster extern-Aufrufe in Resolver-gestützte indirekte Aufrufe. FNV-1a-64-Hash. Drei-Schicht-Verteidigung.

5–7. Android Kernel, Header, Ring-0 Code schreiben

<neverc/dyncode/kernel.h> bietet neverc_kern_resolve_t und neverc_kern_hash(). Reine Berechnung oder Resolver-basierte Payloads.

8. Roadmap

Kernel-Kontextwechsel, Resolver-Umschreibung, beide Payload-Typen — alles erledigt. Kernel-SDK-Header geplant.