谁能给我解释一下,为什么这行代码在代码的每一jmp部分之前或结尾都有标签。这行代码是做什么的?
mov [ebp+var_4], 0FFFFFFFFh
这是WinMain使用C++。我使用了try/catch。
.text:00411260 push ebp
.text:00411261 mov ebp, esp
.text:00411263 push 0FFFFFFFFh
.text:00411265 push offset unk_414FC8
.text:0041126A push offset loc_411050
.text:0041126F mov eax, large fs:0
.text:00411275 push eax
.text:00411276 mov large fs:0, esp
.text:0041127D add esp, 0FFFFFFA0h
.text:00411280 push ebx
.text:00411281 push esi ; uType
.text:00411282 push edi ; uType
.text:00411283 mov [ebp+var_18], esp
.text:00411286 mov [ebp+var_1C], 64h
.text:0041128D mov [ebp+var_20], 96h
.text:00411294 mov [ebp+var_4], 0
.text:0041129B mov eax, [ebp+var_1C]
.text:0041129E add eax, [ebp+var_20]
.text:004112A1 mov [ebp+var_24], eax
.text:004112A4 int 3 ; Trap to Debugger
.text:004112A5 mov [ebp+var_4], 0FFFFFFFFh
.text:004112AC jmp short loc_4112D2
.text:004112AE ; ---------------------------------------------------------------------------
.text:004112AE mov eax, 1
.text:004112B3 retn
.text:004112B4 ; ---------------------------------------------------------------------------
.text:004112B4 mov esp, [ebp-18h]
.text:004112B7 push 0
.text:004112B9 push offset Caption ; "Error1"
.text:004112BE push offset Caption ; "Error1"
.text:004112C3 push 0 ; hWnd
.text:004112C5 call ds:__imp__MessageBoxA@16 ; MessageBoxA(x,x,x,x)
.text:004112CB mov [ebp+var_4], 0FFFFFFFFh
.text:004112D2
.text:004112D2 loc_4112D2: ; CODE XREF: WinMain+4Cj
.text:004112D2 mov [ebp+var_28], 64h
.text:004112D9 mov [ebp+var_2C], 96h
.text:004112E0 mov [ebp+var_4], 1
.text:004112E7 mov eax, [ebp+var_28]
.text:004112EA add eax, [ebp+var_2C]
.text:004112ED mov [ebp+var_30], eax
.text:004112F0 mov eax, [ebp+var_30]
.text:004112F3 cdq
.text:004112F4 xor ecx, ecx
.text:004112F6 idiv ecx
.text:004112F8 mov [ebp+var_30], eax
.text:004112FB mov [ebp+var_4], 0FFFFFFFFh
.text:00411302 jmp short loc_411328
.text:00411304 ; ---------------------------------------------------------------------------
.text:00411304 mov eax, 1
.text:00411309 retn
.text:0041130A ; ---------------------------------------------------------------------------
.text:0041130A mov esp, [ebp-18h]
.text:0041130D push 0
.text:0041130F push offset Text ; "Error2"
.text:00411314 push offset Text ; "Error2"
.text:00411319 push 0 ; hWnd
.text:0041131B call ds:__imp__MessageBoxA@16 ; MessageBoxA(x,x,x,x)
.text:00411321 mov [ebp+var_4], 0FFFFFFFFh
.text:00411328
.text:00411328 loc_411328: ; CODE XREF: WinMain+A2j
.text:00411328 xor eax, eax
.text:0041132A mov ecx, [ebp+var_10]
.text:0041132D mov large fs:0, ecx
.text:00411334 pop edi
.text:00411335 pop esi
.text:00411336 pop ebx
.text:00411337 mov esp, ebp
.text:00411339 pop ebp
.text:0041133A retn 10h
.text:0041133A WinMain endp