Todo escritor quer que sua mensagem seja lida e compreendida, isso nĂŁo Ă© diferente no meu caso. EntĂŁo, estabeleci umas regras em meu processo de escrita para facilitar o seu processo de compreensĂŁo da disciplina de Engenharia Reversa.
Embora eu busque valorizar nosso idioma ao máximo neste livro, há casos em que palavras em inglês se fazem necessárias, principalmente quando não existe uma tradução direta. Utilizo em itálico nestes casos.
Mesmo quando há ma palavra equivalente, me reservo o direito de usar o termo original e evitar termos "aportuguesados" como baite (para byte) ou linkeditor (para linker) quando a opção em inglês é mais comum.
Após a introdução, engenharia reversa passa a ser utilizado como forma curta de engenharia reversa de software.
Nas operações bit-a-bit (bitwise), utilizo os sĂmbolos da programação para representar as operações E, OU, OU EXCLUSIVO, etc. Muitas vezes no texto adoto seus mnemĂ´nicos em inglĂŞs como AND, OR e XOR.
Cada frase deste livro, a não ser que expressado diferente, considera a arquitetura x86-64, também conhecida por AMD64. O sistema operacional considerado é o Windows de 64-bits.
Este é um guia prático. Sendo assim, é recomendável que você seja capaz de reproduzir o que é sugerido neste livro em seu próprio ambiente. Você vai precisar do seguinte:
Uma máquina virtual ou real com Windows 7, 10 ou 11.
Nessa máquina Windows, você deve baixar e instalar os seguintes programas:
Detect It Easy (DIE) - https://horsicq.github.io
flat assembler - https://flatassembler.net/
HxD - https://mh-nexus.de
Este livro Ă© recheado de trechos de cĂłdigo. É recomendável que vocĂŞ pratique escrevendo-os no ambiente especĂfico cada vez que encontrar blocos como os mostrados abaixo.
Exemplos de cĂłdigo em Python como a seguir devem ser digitados no ambiente do Python.
Você também encontrará códigos em linguagem C como este:
Este deve ser compilado em ambiente Windows utilizando o Visual Studio Community.
Tenha em mente que é necessário para o aprendizado que você escreva estes códigos, os execute e analise seus resultados, certo? É para o seu próprio bem. :)
Enquanto instala os programas necessários, vamos seguir para a introdução ao assunto!
Visual Studio Community - https://aka.ms/vs
x64dbg - https://x64dbg.com
>>> 'Execute isto na console do Python!'#include <stdio.h>
int main(void) {
printf("Compilar com o Visual Studio e executar!\n");
}