Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 1.51 KB

File metadata and controls

23 lines (15 loc) · 1.51 KB

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

← Compilador de dyncode

Soporte de dyncode modo kernel (Ring-0)

-fdyncode originalmente cubría solo payloads ring-3. Los payloads ring-0 no pueden reutilizar la ABI ring-3: no existe TEB/PEB, las instrucciones syscall son traps usuario→kernel, x86_64 necesita modelo de código diferente y deshabilitar red zone.

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

  • User (predeterminado): Pipeline PEB/syscall.
  • Kernel: SyscallStub/WinPEB deshabilitados, flags kernel inyectados, KernelImportPass activado.

2–3. Campos TargetDesc y flags de driver

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

4. KernelImportPass

Reescritura automática de llamadas extern no resueltas a llamadas indirectas vía resolver. Hash FNV-1a 64-bit. Defensa de tres capas.

5–7. Kernel Android, headers, escribir código Ring-0

<neverc/dyncode/kernel.h> proporciona neverc_kern_resolve_t y neverc_kern_hash(). Payloads de cálculo puro o basados en resolver.

8. Hoja de ruta

Cambio de contexto kernel, reescritura resolver, ambos tipos de payload — todo completado. Headers SDK kernel planificados.