estou lendo um site o que ensina a usar o OLLY
percebi algo que me chamou a atençao....
---------------------------------------------------------------------
Linha 2: CMP EAX, 0
CMP siginfica Compare. Ele compara seu primeiro argumento com o segundo. Se a comparação for verdadeira, ele seta uma "flag" indicando que é verdadeira. Nesse caso, ele está comparando EAX com 0 ( algo como "if ( eax == 0 )" em C ). Na linha anterior, EAX foi zerado, e agora ele está sendo comparado com 0, então, essa comparação é verdadeira.
Linha 3: JE SHORT fergo_ex.00401015
Jump if Equal. Como o nome já diz, se os argumentos da comparação anterior forem iguais ( comparação verdadeira ), ele realiza um salto para outra região do código. Nesse caso, como a comparação foi verdadeira, ele vai pular para o endereço 00401015 do executavel fergo_ex1.exe.
Vou pular as linhas 4, 5 e 6 para não matar a charada logo no começo. Falaremos dela depois