Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 1.46 KB

File metadata and controls

23 lines (15 loc) · 1.46 KB

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

← Compilatore dyncode

Supporto dyncode modalità kernel (Ring-0)

-fdyncode copriva inizialmente solo payload ring-3. I payload ring-0 non possono riutilizzare l'ABI ring-3: niente TEB/PEB, istruzioni syscall = trap utente→kernel, x86_64 richiede modello di codice diverso e disabilitazione red zone.

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

  • User (default): Pipeline PEB/syscall.
  • Kernel: SyscallStub/WinPEB disabilitati, flag kernel iniettati, KernelImportPass attivato.

2–3. Campi TargetDesc e flag driver

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

4. KernelImportPass

Riscrittura automatica di chiamate extern non risolte in chiamate indirette via resolver. Hash FNV-1a 64-bit. Difesa a tre livelli.

5–7. Kernel Android, header, scrivere codice Ring-0

<neverc/dyncode/kernel.h> fornisce neverc_kern_resolve_t e neverc_kern_hash(). Payload calcolo puro o basati su resolver.

8. Roadmap

Cambio contesto kernel, riscrittura resolver, entrambi i tipi di payload — tutto completato. Header SDK kernel pianificati.