nt_wrapper
Una biblioteca de envoltura de encabezado solo alrededor de las API del sistema de Windows nativo.
Advertencia: la API de la versión 2 sigue siendo inestable
Lo más destacado de las características implementadas actualmente
Información del sistema:
- Maneja la enumeración -> ntw :: sistema :: maneja
- Enumeración del proceso -> NTW :: System :: Processes
- Enumeración de Threads -> NTW :: System :: Thread_info
- Enumeración de controladores cargados -> NTW :: System :: Loaded_Drivers
- Operaciones de memoria con construcciones RAII -> NTW :: Memoria
Manipulación de objetos:
- Proceso -> ntw :: ob :: proceso
- Thread -> NTW :: OB :: Hilo
- Archivo -> NTW :: OB :: Archivo
- Token -> NTW :: OB :: Token
- Registro -> NTW :: OB :: Registro y más
Objetivos de diseño
- No hay excepciones: si una función puede fallar, devolverá un código de estado.
- No hay gastos generales: cada abstracción es sin costo y es lo más rápido posible.
- Facilidad de uso del desarrollador: es mucho más consistente y agradable trabajar en comparación con Win32.
¿Por qué?
La razón principal para elegir esta biblioteca sobre las construcciones de Windows existentes es:
- Velocidad: incluso con Lazy_importer, es probable que su código sea más rápido en comparación con la API Win32.
- Facilidad de uso: el lenguaje de elección es C ++ y le permite usar alternativas modernas a la antigua C.
- Ofuscación: es mucho más difícil ingeniería inversa de una aplicación que utiliza importaciones ofuscadas o syscalls directos.
Instalación de dependencias utilizando VCPKG
> git clone https://github.com/microsoft/vcpkg
> cd vcpkg
> ./bootstrap-vcpkg.sh
> ./vcpkg install phnt