首页
社区
课程
招聘
一个DELPHI程序跟踪的问题,请教
2004-11-4 16:12 6070

一个DELPHI程序跟踪的问题,请教

2004-11-4 16:12
6070
我正在研究一个软件,已经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
谢谢了!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
打赏
分享
最新回复 (6)
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
articlezou 2004-11-5 16:58
2
0
关键是在处理注册码的函数之后还有一些代码对注册码操作,我就是找不到这些代码,很是郁闷!在DEDE里只是看到对注册码处理的前几个步骤。请各位老大帮忙看看呀!!!
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
articlezou 2004-11-8 09:18
3
0
这么多天了,怎么没有人来回复一下呢?!请高手帮忙看看呀!!!谢谢啦!
雪    币: 178
活跃值: (144)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
pmma 1 2004-11-8 19:13
4
0
设内存断点试试
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
articlezou 2004-11-9 08:20
5
0
内存断点设过,但没有用呀!它这个程序把输入的注册码搬来搬去的好多次,每搬一次就进行一些操作,设了内存断点后之后OD就没有反应了,这个程序也不运行了,好象是死了一样,不过OD里的菜单都可以选,就是找不到执行到哪里了。不知道是不是OD的BUG?!
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
articlezou 2004-11-10 15:34
6
0
这个软件爆破的话我已经搞定了,但是就是想写注册机,请各位帮帮忙呀!不胜感激!!!
雪    币: 200
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
snow 2004-11-10 17:17
7
0
写注册机。。你是在用它还是在,学习写注册机,如果是用:那你就用吧。。!!如果是写注册机。那你就自己学习吧!!看书。OKOK。。
游客
登录 | 注册 方可回帖
返回