汇编代码转换为高级语言伪代码,请前辈们看看有错不
程序代码:
00432491 |> /FF37 /push dword ptr [edi] ; /MutexName 00432493 |. |6A 00 |push 0 ; |InitialOwner = FALSE 00432495 |. |6A 00 |push 0 ; |pSecurity = NULL 00432497 |. |FF15 4C514D00 |call dword ptr [<&KERNEL32.CreateMut>; \CreateMutexW 0043249D |. |85C0 |test eax, eax 0043249F |. |8906 |mov dword ptr [esi], eax 004324A1 |. |74 14 |je short 004324B7 004324A3 |. |FF15 48514D00 |call dword ptr [<&KERNEL32.GetLastEr>; [GetLastError 004324A9 |. |3D B7000000 |cmp eax, 0B7 004324AE |. |75 20 |jnz short 004324D0 004324B0 |. |8BCE |mov ecx, esi 004324B2 |. |E8 A4010500 |call 0048265B 004324B7 |> |83C7 04 |add edi, 4 004324BA |. |3BFB |cmp edi, ebx 004324BC ^\7C D3 jl short 00432491 ; if edi<ebx then goto 432491
下面是高级语言伪代码。请前辈们看看小生转换得有错不?谢谢!
程序代码:
Label00432491: eax=CreateMutexW(0,0,dword ptr[edi]) dword ptr[esi]=eax if(eax and eax) then edi=edi+4 if edi<ebx then goto Label00432491 else eax=GetLastError if eax<>0 then goto other else exc=esi call 0048265b edi=edi+4 if edi<ebx then goto Label00432491 end end
[ 本帖最后由 ioriliao 于 2010-9-18 11:45 编辑 ]