nt_wrapper
Uma biblioteca de wrapper de cabeçalho em torno das APIs nativas do sistema Windows.
Aviso: a API da versão 2 ainda é instável
Destaques dos recursos atualmente implementados
Informações do sistema:
- Lida com enumeração -> NTW :: System :: Handles
- Enumeração do processo -> NTW :: System :: Processos
- Enumeração de threads -> NTW :: System :: Thread_info
- Enumeração de drivers carregados -> NTW :: System :: Loaded_drivers
- Operações de memória com construções RAII -> ntw :: memória
Manipulação de objetos:
- Processo -> NTW :: OB :: Process
- Tópico -> ntw :: ob :: thread
- Arquivo -> NTW :: OB :: arquivo
- Token -> ntw :: ob :: token
- Registro -> ntw :: ob :: Registry e mais
Objetivos de design
- Sem exceções - se uma função puder falhar, retornará um código de status.
- Sem despesas gerais - toda abstração é sem custo e é o mais rápido possível.
- Facilidade de uso do desenvolvedor - é muito mais consistente e agradável trabalhar em comparação com o Win32.
Por que?
O principal motivo para escolher esta biblioteca em vez de construções do Windows existentes são:
- Velocidade - Mesmo com LAZY_IMPORTER, seu código provavelmente será mais rápido em comparação com a API Win32.
- Facilidade de uso - A linguagem da escolha é C ++ e permite que você use alternativas modernas para o antigo C.
- OBFUSCAÇÃO - É muito mais difícil reverter o engenheiro, um aplicativo que usa importações ofuscadas ou syscalls diretos.
Instalando dependências usando VCPKG
> git clone https://github.com/microsoft/vcpkg
> cd vcpkg
> ./bootstrap-vcpkg.sh
> ./vcpkg install phnt