我正在进行逆向工程挑战(作为一个学习项目),我发现很难理解下面的代码块应该做什么,可以请某人用例子解释我吗?有人能说出为什么程序比较fgetc的返回值和0FFFFFFFFH?
这是程序中使用的fgetc:
mov eax, dword_12D33EC ; Read char from file
push eax ; File
call ds:fgetc ; Indirect Call Near Procedure
add esp, 4 ; Remove push value from Stack of eax
mov [ebp+var_10], eax
cmp [ebp+var_10], 0FFFFFFFFh ;
jnz short loc_12D1202 ; Jump if Not Zero (ZF=0)
其他块(请帮我理解第二条指令是如何工作的?):
mov ecx,0
mov byte_12D3400[ecx], 32
jmp short loc_12D11AF ; Jump
byte_12D3400的声明: Declaration of byte_12D3400