Funções da API do Windows
Através de várias bibliotecas como kernel32.dll, user32.dll, advapi32.dll e ntdll.dll, só para citar algumas, a Windows API provê inúmeras funções para os programas em usermode chamarem. Criar uma lista com todas essas funções seria insano, mas destaco aqui algumas comumente encontradas em programas para Windows. Optei também por colocar o protótipo de algumas delas, para rápida referência, mas todas as informações sobre estas funções podem ser encontradas na documentação oficial. Basta buscar por um nome de função em seu buscador preferido que certamente o site da Microsoft com a documentação da função estará entre os primeiros.
Mesmo que você não sabia tudo sobre a função funciona, essa lista te ajudará a saber onde colocar breakpoints, de acordo com o seu caso. Por exemplo, caso suspeite que um programa está abrindo um arquivo, pode colocar um breakpoint nas funções CreateFileA
e CreateFileW
.
Vamos agora à lista de funções, separadas por categoria.
Anti-debugging
Utilizadas em técnicas básicas para evitar a depuração de aplicações.
Caixas de Mensagens
Utilizadas para exibir janelas com mensagens.
Ver também: MessageBoxEx
.
Caixas de Texto
Usadas para ler textos de caixas de texto.
Criptografia
Implementam algoritmos de criptografia como algoritmos de hash e criptografia simétrica e assimétrica.
Ver também: CryptDecrypt
, CryptGenKey
, e CryptImportKey
.
Data e Hora
Configuram e consultam data e hora do sistema.
Ver também: SetSystemTime
e SetLocalTime
.
Discos e Volumes
Pegam informações sobre num disco, pen drive, drives de rede mapeados, etc e também sobre seus volumes (partições).
Ver também: GetDiskFreeSpace
, GetDriveType
e GetVolumeInformationA
.
Entrada e Saída (I/O)
Manipulam arquivos e outros objetos.
CreateFileA
e CreateFileW
abrem para ler e/ou para escrever e também criam e até truncam (zeram) arquivos no disco. Também trabalham com outros objetos como pipes, diretórios e consoles.
Ver também: CopyFile
, CreateFileMapping
, DeleteFile
, GetFullPathName
, GetTempPath
, LoadLibrary
, MoveFile
, OpenFile
, OpenFileMapping
e OpenMutex
.
Internet
Funções que falam com a internet, normalmente via HTTP.
Ver também: HttpSendRequestA
, InternetOpenA
, InternetOpenW
, InternetOpenUrlW
e InternetReadFile
.
Janelas
Habilitam ou desabilitam janelas ou itens dentro dela.
Memória
Gerenciam memória, alocando ou deselocando, configurando permissões, dentre outras operações.
Ver também: VirtualAllocEx
, VirtualFree
, VirtualLock
, VirtualProtect
e VirtualQuery
.
Processos e Threads
Manipulam processos e threads. Podem enumerar, alterar o estado, executar e mais.
Ver também: CreateRemoteThread
, CreateThread
, CreateToolhelp32Snapshot
, ExitProcess
, ExitThread
, Heap32First
, Heap32ListFirst
, Heap32ListNext
, Heap32Next
, Module32First
, Module32Next
, OpenProcess
, OpenProcessToken
, OpenThreadToken
, Process32First
, Process32Next
, ShellExecute
, TerminateProcess
, Toolhelp32ReadProcessMemory
, WriteProcessMemory
, ZwQueryInformationProcess
e ZwSetInformationThread
.
Registro
Criam e alteram chaves e valores no registro.
Ver também: RegCloseKey
, RegEnumKeyExA
, RegOpenKey
, RegOpenKeyEx
, RegQueryValueA
, RegSetValueW
, RegSetValueExA
e RegSetValueExW
.
Strings
Manipulam cadeias de texto.
Ver também: lstrcat
, lstrcpy
e lstrlen
.
Last updated