我正在研究一个软件,已经N多天了还没有进展,我都快疯了!请各位老大帮忙研究一下。
delphi编的,用DEDE来看到注册窗口提示机器码的代码为(在OD中COPY出来的):
004F3624 /. 55 push ebp
004F3625 |. 8BEC mov ebp,esp
004F3627 |. 81C4 DCFAFFFF add esp,-524
004F362D |. 33C9 xor ecx,ecx
004F362F |. 898D DCFAFFFF mov dword ptr ss:[ebp-524],ecx
004F3635 |. 894D FC mov dword ptr ss:[ebp-4],ecx
004F3638 |. 33C0 xor eax,eax
004F363A |. 55 push ebp
004F363B |. 68 CD364F00 push MSM.004F36CD
004F3640 |. 64:FF30 push dword ptr fs:[eax]
004F3643 |. 64:8920 mov dword ptr fs:[eax],esp
004F3646 |. A1 E0555400 mov eax,dword ptr ds:[5455E0]
004F364B |. 8B00 mov eax,dword ptr ds:[eax]
004F364D |. 8B10 mov edx,dword ptr ds:[eax]
004F364F |. FF92 EC000000 call dword ptr ds:[edx+EC] ; 显示输入注册码的窗口,按确定返回
004F3655 |. 48 dec eax
004F3656 |. 75 54 jnz short MSM.004F36AC
004F3658 |. 8D95 DCFAFFFF lea edx,dword ptr ss:[ebp-524]
004F365E |. A1 E0555400 mov eax,dword ptr ds:[5455E0]
004F3663 |. 8B00 mov eax,dword ptr ds:[eax]
004F3665 |. 8B80 10030000 mov eax,dword ptr ds:[eax+310] ; TInputSernoFrm.ED_Serno : TEdit
004F366B |. E8 D46CF8FF call MSM.0047A344 ; Controls.TControl.GetText(TControl):TCaption
004F3670 |. 8B85 DCFAFFFF mov eax,dword ptr ss:[ebp-524] ; 输入的注册码
004F3676 |. 8D55 FC lea edx,dword ptr ss:[ebp-4]
004F3679 |. E8 EE5DF1FF call MSM.0040946C ; SysUtils.Trim(AnsiString):AnsiString;overload;
004F367E |. 8D95 E0FAFFFF lea edx,dword ptr ss:[ebp-520]
004F3684 |. 8B4D FC mov ecx,dword ptr ss:[ebp-4]
004F3687 |. A1 300E5000 mov eax,dword ptr ds:[500E30] ; class TTcpFrame
004F368C |. E8 D7E20000 call MSM.00501968 ; 对注册码进行一些操作,放入特定地址之类。但不运算
004F3691 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8] ; 注册码加2的结果放入EAX中
004F3694 |. 50 push eax ; /Arg1
004F3695 |. 8D95 E0FAFFFF lea edx,dword ptr ss:[ebp-520] ; |执行完EDX=0012ED34
004F369B |. A1 E4575400 mov eax,dword ptr ds:[5457E4] ; |TCommModuleFrm instance
004F36A0 |. 8B00 mov eax,dword ptr ds:[eax] ; |EAX=00BDAB4C,可能是过期标志
004F36A2 |. B9 14050000 mov ecx,514 ; |
004F36A7 |. E8 4421FBFF call MSM.004A57F0 ; \TCommModuleFrm._PROC_004A57F0(),有一些重要的操作
004F36AC |> 33C0 xor eax,eax
004F36AE |. 5A pop edx
004F36AF |. 59 pop ecx
004F36B0 |. 59 pop ecx
004F36B1 |. 64:8910 mov dword ptr fs:[eax],edx ; FS:[00000000]=[7FFDE000]=0012ED24 <=0012F558
004F36B4 |. 68 D4364F00 push MSM.004F36D4
004F36B9 |> 8D85 DCFAFFFF lea eax,dword ptr ss:[ebp-524] ; EAX=0012ED30中长为4个字节清零
004F36BF |. E8 4C14F1FF call MSM.00404B10 ; System.@LStrClr(void;void);
004F36C4 |. 8D45 FC lea eax,dword ptr ss:[ebp-4] ; EAX=0012F250中长为4个字节清零
004F36C7 |. E8 4414F1FF call MSM.00404B10 ; System.@LStrClr(void;void);
004F36CC \. C3 retn
从004F364F进入的子程序,在DEDE中看到的只是这一段按“注册”后的处理程序:
004F30BC /. 55 push ebp
004F30BD |. 8BEC mov ebp,esp
004F30BF |. 6A 00 push 0
004F30C1 |. 6A 00 push 0
004F30C3 |. 53 push ebx
004F30C4 |. 8BD8 mov ebx,eax
004F30C6 |. 33C0 xor eax,eax
004F30C8 |. 55 push ebp
004F30C9 |. 68 43314F00 push MSM.004F3143
004F30CE |. 64:FF30 push dword ptr fs:[eax]
004F30D1 |. 64:8920 mov dword ptr fs:[eax],esp
004F30D4 |. 8D55 F8 lea edx,dword ptr ss:[ebp-8]
004F30D7 |. 8B83 10030000 mov eax,dword ptr ds:[ebx+310]
004F30DD |. E8 6272F8FF call MSM.0047A344 ; Controls.TControl.GetText(TControl):TCaption;
004F30E2 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8] ; EAX得到输入的注册码
004F30E5 |. 8D55 FC lea edx,dword ptr ss:[ebp-4]
004F30E8 |. E8 7F63F1FF call MSM.0040946C ; SysUtils.Trim(AnsiString):AnsiString;overload;
004F30ED |. 837D FC 00 cmp dword ptr ss:[ebp-4],0 ; 输入空注册码则出错
004F30F1 75 28 jnz short MSM.004F311B ; 跳到正确部分
004F30F3 |. 6A 30 push 30
004F30F5 |. B9 50314F00 mov ecx,MSM.004F3150 ; '系统提示'
004F30FA |. BA 5C314F00 mov edx,MSM.004F315C ; '序列号不能为空,请重新输入!'
004F30FF |. A1 14575400 mov eax,dword ptr ds:[545714]
004F3104 |. 8B00 mov eax,dword ptr ds:[eax]
004F3106 |. E8 6574FAFF call MSM.0049A570
004F310B |. 8B83 10030000 mov eax,dword ptr ds:[ebx+310]
004F3111 |. 8B10 mov edx,dword ptr ds:[eax]
004F3113 |. FF92 C4000000 call dword ptr ds:[edx+C4]
004F3119 |. EB 0A jmp short MSM.004F3125
004F311B |> C783 4C020000 >mov dword ptr ds:[ebx+24C],1 ; DS:[ebx+24c]=00000000,使其为1
004F3125 |> 33C0 xor eax,eax ; 清空EAX
004F3127 |. 5A pop edx ; ESP="C10"
004F3128 |. 59 pop ecx
004F3129 |. 59 pop ecx
004F312A |. 64:8910 mov dword ptr fs:[eax],edx ; EDX=12e620,把它放到[7ffde000]中
004F312D |. 68 4A314F00 push MSM.004F314A ; ESP="J10"
004F3132 |> 8D45 F8 lea eax,dword ptr ss:[ebp-8] ; EAX=12E2E0
004F3135 |. E8 D619F1FF call MSM.00404B10 ; System.@LStrClr(void;void);执行后[12e2e0]4个字节为0
004F313A |. 8D45 FC lea eax,dword ptr ss:[ebp-4] ; eax=12e2e4
004F313D |. E8 CE19F1FF call MSM.00404B10 ; System.@LStrClr(void;void);
004F3142 \. C3 retn
00501968 /$ 55 push ebp
00501969 |. 8BEC mov ebp,esp
0050196B |. 83C4 F8 add esp,-8
0050196E |. 53 push ebx
0050196F |. 56 push esi
00501970 |. 57 push edi
00501971 |. 894D F8 mov dword ptr ss:[ebp-8],ecx
00501974 |. 8955 FC mov dword ptr ss:[ebp-4],edx
00501977 |. 8BD8 mov ebx,eax
00501979 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0050197C |. E8 3F36F0FF call MSM.00404FC0 ; LstrAddRef(Void,Void)
00501981 |. 33C0 xor eax,eax
00501983 |. 55 push ebp
00501984 |. 68 EB195000 push MSM.005019EB
00501989 |. 64:FF30 push dword ptr fs:[eax]
0050198C |. 64:8920 mov dword ptr fs:[eax],esp
0050198F |. 6A 04 push 4 ; /Arg1 = 00000004
00501991 |. 8B55 FC mov edx,dword ptr ss:[ebp-4] ; |
00501994 |. B1 03 mov cl,3 ; |
00501996 |. 8BC3 mov eax,ebx ; |
00501998 |. E8 73F7FFFF call MSM.00501110 ; \产生在注册码之前的两个字节的值为03,04
0050199D |. 8BD8 mov ebx,eax
0050199F |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
005019A2 |. E8 2934F0FF call MSM.00404DD0 ; LstrLen(String)
005019A7 |. 8BF0 mov esi,eax ; EAX中为输入注册码的长度
005019A9 |. 8BD6 mov edx,esi ; 把注册码长度放入EDX
005019AB |. 4A dec edx ; 长度减1;下面4条指令为了测试长度是不是只有1位,1位就出错
005019AC |. 85D2 test edx,edx
005019AE |. 7C 1A jl short MSM.005019CA ; 长度为0则转
005019B0 |. 42 inc edx ; 恢复长度
005019B1 |. 33C0 xor eax,eax
005019B3 |> 8D0C18 /lea ecx,dword ptr ds:[eax+ebx] ; 这个循环把注册码放入[0012ED36]
005019B6 |. 8B7D FC |mov edi,dword ptr ss:[ebp-4]
005019B9 |. 8D0C0F |lea ecx,dword ptr ds:[edi+ecx]
005019BC |. 51 |push ecx
005019BD |. 8B4D F8 |mov ecx,dword ptr ss:[ebp-8]
005019C0 |. 8A0C01 |mov cl,byte ptr ds:[ecx+eax] ; 把注册码中第一个ASCII码放入CL
005019C3 |. 5F |pop edi
005019C4 |. 880F |mov byte ptr ds:[edi],cl ; 把注册码第一个ASCII码放入[0012ED36]
005019C6 |. 40 |inc eax
005019C7 |. 4A |dec edx
005019C8 |.^75 E9 \jnz short MSM.005019B3
005019CA |> 03DE add ebx,esi ; ESI中是注册码的长度,加上2,赋给EBX
005019CC |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
005019CF |. 8998 18050000 mov dword ptr ds:[eax+518],ebx ; 注册码的长度加2的结果放入[0012F24C]
005019D5 |. 33C0 xor eax,eax
005019D7 |. 5A pop edx
005019D8 |. 59 pop ecx
005019D9 |. 59 pop ecx
005019DA |. 64:8910 mov dword ptr fs:[eax],edx
005019DD |. 68 F2195000 push MSM.005019F2
005019E2 |> 8D45 F8 lea eax,dword ptr ss:[ebp-8] ; 把[0012ED14]中四个字节清为零
005019E5 |. E8 2631F0FF call MSM.00404B10 ; LstrClr(void,void)
005019EA \. C3 retn
关键问题是004F36CC处的retn是转到哪里去了?我跟了很久都没有头绪,都是一些pop然后返回很多次,再就会进入user32里了。只知道从004F3624-004F36CC执行完之后还会执行到一个子程序,这才是显示成功与否的地方,在这里爆破也没有用,当时看到有多少个用户许可,但一样会提示过期,重启这程序也就没用了。我想知道的是怎么才能跟到004F36CC之后真正有用的代码?
004FB2CD . FEC8 dec al ; Switch (cases 1..3)
004FB2CF . 74 0A je short MSM.004FB2DB
004FB2D1 . FEC8 dec al
004FB2D3 . 74 14 je short MSM.004FB2E9
004FB2D5 . FEC8 dec al
004FB2D7 . 74 1B je short MSM.004FB2F4
004FB2D9 . EB 22 jmp short MSM.004FB2FD
004FB2DB > 8B0C24 mov ecx,dword ptr ss:[esp] ; Case 1 of switch 004FB2CD
004FB2DE . 8BD7 mov edx,edi
004FB2E0 . 8BC6 mov eax,esi
004FB2E2 . E8 51020000 call MSM.004FB538
004FB2E7 . EB 14 jmp short MSM.004FB2FD
004FB2E9 > 8BD7 mov edx,edi ; Case 2 of switch 004FB2CD
004FB2EB . 8BC6 mov eax,esi
004FB2ED . E8 06070000 call MSM.004FB9F8
004FB2F2 . EB 09 jmp short MSM.004FB2FD
004FB2F4 > 8BD7 mov edx,edi ; Case 3 of switch 004FB2CD
004FB2F6 . 8BC6 mov eax,esi
004FB2F8 . E8 C7030000 call MSM.004FB6C4
004FB2FD > 4B dec ebx ; Default case of switch 004FB2CD
004FB6C4 /$ 53 push ebx
004FB6C5 |. 56 push esi
004FB6C6 |. 57 push edi
004FB6C7 |. 81C4 DCFAFFFF add esp,-524
004FB6CD |. 8BF2 mov esi,edx
004FB6CF |. 8D7C24 08 lea edi,dword ptr ss:[esp+8]
004FB6D3 |. B9 47010000 mov ecx,147
004FB6D8 |. F3:A5 rep movs dword ptr es:[edi],dword ptr ds>; 把[0012F54C]中长为0x147(327)复制到[0012F01C]
004FB6DA |. 8BD8 mov ebx,eax
004FB6DC |. 8D5424 08 lea edx,dword ptr ss:[esp+8]
004FB6E0 |. 8B83 14030000 mov eax,dword ptr ds:[ebx+314]
004FB6E6 |. E8 2D590000 call MSM.00501018 ; 把[0012F01C]长度为0x145(325)复制到[0012EAF0]。AL=[0012EAF1]
004FB6EB |. 2C 83 sub al,83 ; Switch (cases 83..84)
004FB6ED 0F84 BB000000 je MSM.004FB7AE
004FB6F3 |. FEC8 dec al
004FB6F5 |. 0F85 41020000 jnz MSM.004FB93C ; 不是83或84则转
004FB6FB |. 8D4C24 04 lea ecx,dword ptr ss:[esp+4] ; Case 84 of switch 004FB6EB
004FB6FF |. 8D5424 08 lea edx,dword ptr ss:[esp+8]
004FB703 |. 8B83 14030000 mov eax,dword ptr ds:[ebx+314]
004FB709 |. E8 7A570000 call MSM.00500E88
004FB70E |. 837C24 04 00 cmp dword ptr ss:[esp+4],0 ; [0012F018]中就是许可用户数。<=0就出错。[0012F018]=270F就是无限个用户。
004FB713 7E 7C jle short MSM.004FB791
004FB715 A1 38555400 mov eax,dword ptr ds:[545538]
004FB71A |. 8B00 mov eax,dword ptr ds:[eax]
004FB71C |. BA 50B94F00 mov edx,MSM.004FB950
004FB721 |. E8 4EECF7FF call MSM.0047A374
004FB726 |. A1 38545400 mov eax,dword ptr ds:[545438]
004FB72B |. 8B00 mov eax,dword ptr ds:[eax]
004FB72D |. 8B5424 04 mov edx,dword ptr ss:[esp+4]
004FB731 |. 8990 50030000 mov dword ptr ds:[eax+350],edx
004FB737 |. A1 6C525400 mov eax,dword ptr ds:[54526C]
004FB73C |. 8B00 mov eax,dword ptr ds:[eax]
004FB73E |. 8078 57 00 cmp byte ptr ds:[eax+57],0
004FB742 |. 74 0C je short MSM.004FB750
004FB744 |. A1 6C525400 mov eax,dword ptr ds:[54526C]
004FB749 |. 8B00 mov eax,dword ptr ds:[eax]
004FB74B |. E8 407DFFFF call MSM.004F3490 ?
004FB750 |> A1 38555400 mov eax,dword ptr ds:[545538]
004FB755 |. 8B00 mov eax,dword ptr ds:[eax]
004FB757 |. 8B80 D0030000 mov eax,dword ptr ds:[eax+3D0]
004FB75D |. 8B10 mov edx,dword ptr ds:[eax]
004FB75F |. FF52 50 call dword ptr ds:[edx+50] ?
004FB762 |. 84C0 test al,al
004FB764 |. 74 0E je short MSM.004FB774
004FB766 |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB76B |. 8B00 mov eax,dword ptr ds:[eax]
004FB76D |. 33D2 xor edx,edx
004FB76F |. E8 E0F30200 call MSM.0052AB54
004FB774 |> 6A 30 push 30
004FB776 |. B9 60B94F00 mov ecx,MSM.004FB960 ; 注册成功
004FB77B |. BA 6CB94F00 mov edx,MSM.004FB96C ; 感谢你使用我们的软件
004FB780 |. A1 14575400 mov eax,dword ptr ds:[545714]
004FB785 |. 8B00 mov eax,dword ptr ds:[eax]
004FB787 |. E8 E4EDF9FF call MSM.0049A570 ; 弹出对话框
004FB78C |. E9 AB010000 jmp MSM.004FB93C
004FB791 |> 6A 10 push 10
004FB793 |. B9 84B94F00 mov ecx,MSM.004FB984 ; 注册失败
004FB798 |. BA 90B94F00 mov edx,MSM.004FB990
004FB79D |. A1 14575400 mov eax,dword ptr ds:[545714]
004FB7A2 |. 8B00 mov eax,dword ptr ds:[eax]
004FB7A4 |. E8 C7EDF9FF call MSM.0049A570
004FB7A9 |. E9 8E010000 jmp MSM.004FB93C
004FB7AE |> 8D4424 01 lea eax,dword ptr ss:[esp+1] ; Case 83 of switch 004FB6EB
004FB7B2 |. 50 push eax ; /Arg1
004FB7B3 |. 8D4C24 04 lea ecx,dword ptr ss:[esp+4] ; |
004FB7B7 |. 8D5424 0C lea edx,dword ptr ss:[esp+C] ; |
004FB7BB |. 8B83 14030000 mov eax,dword ptr ds:[ebx+314] ; |
004FB7C1 |. E8 8E5C0000 call MSM.00501454 ; \MSM.00501454
004FB7C6 |. 803C24 00 cmp byte ptr ss:[esp],0
004FB7CA |. 0F85 58010000 jnz MSM.004FB928
004FB7D0 |. 8A4424 01 mov al,byte ptr ss:[esp+1]
004FB7D4 |. 2C 01 sub al,1 ; Switch (cases 0..3)
004FB7D6 |. 72 17 jb short MSM.004FB7EF
004FB7D8 |. 74 49 je short MSM.004FB823
004FB7DA |. FEC8 dec al
004FB7DC |. 0F84 9A000000 je MSM.004FB87C
004FB7E2 |. FEC8 dec al
004FB7E4 |. 0F84 E8000000 je MSM.004FB8D2
004FB7EA |. E9 4D010000 jmp MSM.004FB93C
004FB7EF |> C683 08030000 >mov byte ptr ds:[ebx+308],1 ; Case 0 of switch 004FB7D4
004FB7F6 |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB7FB |. 8B00 mov eax,dword ptr ds:[eax]
004FB7FD |. 8B80 D0030000 mov eax,dword ptr ds:[eax+3D0]
004FB803 |. 33D2 xor edx,edx
004FB805 |. 8B08 mov ecx,dword ptr ds:[eax]
004FB807 |. FF51 64 call dword ptr ds:[ecx+64]
004FB80A |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB80F |. 8B00 mov eax,dword ptr ds:[eax]
004FB811 |. 8B80 D4030000 mov eax,dword ptr ds:[eax+3D4]
004FB817 |. B2 01 mov dl,1
004FB819 |. 8B08 mov ecx,dword ptr ds:[eax]
004FB81B |. FF51 64 call dword ptr ds:[ecx+64]
004FB81E |. E9 19010000 jmp MSM.004FB93C
004FB823 |> A1 38555400 mov eax,dword ptr ds:[545538] ; Case 1 of switch 004FB7D4
004FB828 |. 8B00 mov eax,dword ptr ds:[eax]
004FB82A |. 8B80 D0030000 mov eax,dword ptr ds:[eax+3D0]
004FB830 |. B2 01 mov dl,1
004FB832 |. 8B08 mov ecx,dword ptr ds:[eax]
004FB834 |. FF51 64 call dword ptr ds:[ecx+64]
004FB837 |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB83C |. 8B00 mov eax,dword ptr ds:[eax]
004FB83E |. 8B80 D4030000 mov eax,dword ptr ds:[eax+3D4]
004FB844 |. 33D2 xor edx,edx
004FB846 |. 8B08 mov ecx,dword ptr ds:[eax]
004FB848 |. FF51 64 call dword ptr ds:[ecx+64]
004FB84B |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB850 |. 8B00 mov eax,dword ptr ds:[eax]
004FB852 |. 8B80 B8030000 mov eax,dword ptr ds:[eax+3B8]
004FB858 |. 33D2 xor edx,edx
004FB85A |. E8 95F1F3FF call MSM.0043A9F4
004FB85F |. 6A 10 push 10
004FB861 |. B9 ACB94F00 mov ecx,MSM.004FB9AC
004FB866 |. BA B8B94F00 mov edx,MSM.004FB9B8
004FB86B |. A1 14575400 mov eax,dword ptr ds:[545714]
004FB870 |. 8B00 mov eax,dword ptr ds:[eax]
004FB872 |. E8 F9ECF9FF call MSM.0049A570
004FB877 |. E9 C0000000 jmp MSM.004FB93C
004FB87C |> A1 38555400 mov eax,dword ptr ds:[545538] ; Case 2 of switch 004FB7D4
004FB881 |. 8B00 mov eax,dword ptr ds:[eax]
004FB883 |. 8B80 D0030000 mov eax,dword ptr ds:[eax+3D0]
004FB889 |. B2 01 mov dl,1
004FB88B |. 8B08 mov ecx,dword ptr ds:[eax]
004FB88D |. FF51 64 call dword ptr ds:[ecx+64]
004FB890 |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB895 |. 8B00 mov eax,dword ptr ds:[eax]
004FB897 |. 8B80 D4030000 mov eax,dword ptr ds:[eax+3D4]
004FB89D |. 33D2 xor edx,edx
004FB89F |. 8B08 mov ecx,dword ptr ds:[eax]
004FB8A1 |. FF51 64 call dword ptr ds:[ecx+64]
004FB8A4 |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB8A9 |. 8B00 mov eax,dword ptr ds:[eax]
004FB8AB |. 8B80 B8030000 mov eax,dword ptr ds:[eax+3B8]
004FB8B1 |. 33D2 xor edx,edx
004FB8B3 |. E8 3CF1F3FF call MSM.0043A9F4
004FB8B8 |. 6A 10 push 10
004FB8BA |. B9 ACB94F00 mov ecx,MSM.004FB9AC
004FB8BF |. BA C8B94F00 mov edx,MSM.004FB9C8
004FB8C4 |. A1 14575400 mov eax,dword ptr ds:[545714]
004FB8C9 |. 8B00 mov eax,dword ptr ds:[eax]
004FB8CB |. E8 A0ECF9FF call MSM.0049A570
004FB8D0 |. EB 6A jmp short MSM.004FB93C
004FB8D2 |> A1 38555400 mov eax,dword ptr ds:[545538] ; Case 3 of switch 004FB7D4
004FB8D7 |. 8B00 mov eax,dword ptr ds:[eax]
004FB8D9 |. 8B80 D0030000 mov eax,dword ptr ds:[eax+3D0]
004FB8DF |. B2 01 mov dl,1
004FB8E1 |. 8B08 mov ecx,dword ptr ds:[eax]
004FB8E3 |. FF51 64 call dword ptr ds:[ecx+64]
004FB8E6 |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB8EB |. 8B00 mov eax,dword ptr ds:[eax]
004FB8ED |. 8B80 D4030000 mov eax,dword ptr ds:[eax+3D4]
004FB8F3 |. 33D2 xor edx,edx
004FB8F5 |. 8B08 mov ecx,dword ptr ds:[eax]
004FB8F7 |. FF51 64 call dword ptr ds:[ecx+64]
004FB8FA |. A1 38555400 mov eax,dword ptr ds:[545538]
004FB8FF |. 8B00 mov eax,dword ptr ds:[eax]
004FB901 |. 8B80 B8030000 mov eax,dword ptr ds:[eax+3B8]
004FB907 |. 33D2 xor edx,edx
004FB909 |. E8 E6F0F3FF call MSM.0043A9F4
004FB90E |. 6A 30 push 30
004FB910 |. B9 ACB94F00 mov ecx,MSM.004FB9AC
004FB915 |. BA E0B94F00 mov edx,MSM.004FB9E0
004FB91A |. A1 14575400 mov eax,dword ptr ds:[545714]
004FB91F |. 8B00 mov eax,dword ptr ds:[eax]
004FB921 E8 4AECF9FF call MSM.0049A570
004FB926 |. EB 14 jmp short MSM.004FB93C
004FB928 |> A1 38555400 mov eax,dword ptr ds:[545538]
004FB92D |. 8B00 mov eax,dword ptr ds:[eax]
004FB92F |. 8B80 B8030000 mov eax,dword ptr ds:[eax+3B8]
004FB935 |. 33D2 xor edx,edx
004FB937 |. E8 B8F0F3FF call MSM.0043A9F4
004FB93C |> 81C4 24050000 add esp,524 ; Default case of switch 004FB7D4
004FB942 |. 5F pop edi
004FB943 |. 5E pop esi
004FB944 |. 5B pop ebx
004FB945 \. C3 retn
谢谢了!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!