Esse ponteiro vai até onde?

Esse ponteiro vai até onde?

Brincando com obtenções e conversões de SIDs, tive uma pequena dificuldade de usar a função ConvertStringSidToSid, de Sddl.h. Seu objetivo é receber uma string-SID no formato usado pela ferramenta PsGetSid e retornar uma sequência de bytes de tamanho arbitrário, que…

Dependência pedindo carona

Dependência pedindo carona

Mesmo as vezes que você não queira, algumas dependências pedem carona e o compilador deixa entrar. Daí mesmo que você não use uma função API, ela acaba te atazanando a vida. Foi o caso da ToolHelp32 no Windows NT 4.

FormatMessage para... dumies?

FormatMessage para… dumies?

Já foi comentado em alguns círculos de ótimos programadores que a função da Win32 API FormatMessage é uma das criaturas mais bizarras já criadas. O objetivo da FormatMessage é formatar uma string, assim como sprintf, mas voltado mais a escrever…

Três em um

Três em um

Que vergonha passar tanto tempo sem postar nada. Parece que não fiz nada que valesse a pena comentar por aqui. Na verdade, não fiz tanto, mesmo. Muitas mensagens do Outlook, gráficos UML e reuniões de alinhamento depois, sobrou um tempinho…

Por que Long Pointer

Por que Long Pointer

Esse artigo continua a explicação sobre os typedefs arcaicos, já que ainda falta explicar por que diabos os ponteiros da Microsoft começam com LP. Tentei explicar para minha pupila que, por ser código dos anos 80, as pessoas usavam LP…

Importando tipos de outros projetos

Importando tipos de outros projetos

A engenharia reversa das entranhas do kernel não tem limites se você sabe o que está fazendo. No entanto, algumas facilidades do depurador podem ajudar a minimizar o tempo que gastamos para analisar uma simples estrutura. Por exemplo, o Process…

O boot no Windows: Kernel

Finalmente chegamos em um pouco onde podemos usar o WinDbg. Podemos espetar o depurador e fazê-lo parar assim que conectado. Se estiver rodando antes do próprio sistema operacional, teremos um sistema sem processos e sem threads, pois ele irá parar…

O boot no Windows: NTLDR

O boot no Windows: NTLDR

Minhas análises estão demorando muito para ser feitas. Talvez seja a hora de revelar o pouco que sei (e pesquisei) sobre o próximo processo de boot do Windows: o NTLDR. O nosso amigo NT Loader pode ser entendido através da…

O boot no Windows: pré-NTLDR

O boot no Windows: pré-NTLDR

Conforme fui estudando para recordar os momentos sublimes do boot do Windows me deparei com o artigo mais “espetaculoso” de todos os tempos sobre esse assunto, parte integrante do livro Windows Internals e escrito pelo nada mais nada menos Mark…