在Assembly中理解fgetc

时间:2017-07-30 08:34:18

标签: assembly x86 ida

我正在进行逆向工程挑战(作为一个学习项目),我发现很难理解下面的代码块应该做什么,可以请某人用例子解释我吗?有人能说出为什么程序比较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

0 个答案:

没有答案