能力值:
( LV4,RANK:50 )
36 楼
环境:win98
工具:od,delphi当然要用dede了,我用的是1.06版
目的:乐趣所在,如果我无意间伤了谁,请原谅!
开工:
先用dede找点有用的东西。
主窗体过程中0042E09C 有一个acRegsiterExecute.不错。
用od加载。F9,先try一下。
对42e09c下断。点help菜单中的注册。
断下了: 代码:--------------------------------------------------------------------------------
0042BD0C /$ 53 PUSH EBX
0042BD0D |. 8BD8 MOV EBX,EAX
0042BD0F |. 8B83 24060000 MOV EAX,DWORD PTR DS:[EBX+624]
0042BD15 |. E8 1EBDFFFF CALL <JMP.&DTPut.@Reginfo@TryUse$qqrp22Serialbuilder@Tdfgdfgf>**********从这里跟进,注册的过程在这里。即dtput.bpl中。
0042BD1A |. 8B83 24060000 MOV EAX,DWORD PTR DS:[EBX+624]
0042BD20 |. E8 7F72FDFF CALL <JMP.&DTPut.@Serialbuilder@Tdfgdfgf@GetRegistered$qqrv>
0042BD25 |. 8B15 CC3E4300 MOV EDX,DWORD PTR DS:[<&DTPut.@Dtjobobj@sfszc>] ; DTPUT.@Dtjobobj@sfszc
0042BD2B |. 8802 MOV BYTE PTR DS:[EDX],AL
0042BD2D |. 5B POP EBX
0042BD2E \. C3 RETN
******************************来到这里*****************006C2CC4 > 55 PUSH EBP
006C2CC5 8BEC MOV EBP,ESP
006C2CC7 83C4 F8 ADD ESP,-8
006C2CCA 53 PUSH EBX
006C2CCB 8BD8 MOV EBX,EAX
006C2CCD 33C9 XOR ECX,ECX
006C2CCF B2 01 MOV DL,1
006C2CD1 A1 E8296C00 MOV EAX,DWORD PTR DS:[6C29E8]
006C2CD6 E8 19EDFBFF CALL <JMP.&vcl70.@Forms@TCustomForm@$bctr$qqrp18Classes@TComponen>
006C2CDB 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
006C2CDE 33C0 XOR EAX,EAX
006C2CE0 55 PUSH EBP
006C2CE1 68 1C2D6C00 PUSH DTPUT.006C2D1C
006C2CE6 64:FF30 PUSH DWORD PTR FS:[EAX]
006C2CE9 64:8920 MOV DWORD PTR FS:[EAX],ESP
006C2CEC 8BD3 MOV EDX,EBX
006C2CEE 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
006C2CF1 E8 36000000 CALL DTPUT.@Reginfo@TRegistrationDlg@SetParam$qqrp22Serialbuilder>
006C2CF6 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
006C2CF9 8B10 MOV EDX,DWORD PTR DS:[EAX]
006C2CFB FF92 EC000000 CALL DWORD PTR DS:[EDX+EC]************继续跟进
006C2D01 48 DEC EAX
006C2D02 0F9445 FF SETE BYTE PTR SS:[EBP-1]
006C2D06 33C0 XOR EAX,EAX
006C2D08 5A POP EDX
006C2D09 59 POP ECX
006C2D0A 59 POP ECX
006C2D0B 64:8910 MOV DWORD PTR FS:[EAX],EDX
006C2D0E 68 232D6C00 PUSH DTPUT.006C2D23
006C2D13 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
006C2D16 E8 7DE3FBFF CALL <JMP.&rtl70.@System@TObject@Free$qqrv>
006C2D1B C3 RETN
来到这里: 00511418 > 55 PUSH EBP
00511419 8BEC MOV EBP,ESP
0051141B 83C4 E0 ADD ESP,-20
0051141E 53 PUSH EBX
0051141F 56 PUSH ESI
00511420 33D2 XOR EDX,EDX
00511422 8955 E0 MOV DWORD PTR SS:[EBP-20],EDX
00511425 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00511428 33C0 XOR EAX,EAX
0051142A 55 PUSH EBP
0051142B 68 E0165100 PUSH VCL70.005116E0
00511430 64:FF30 PUSH DWORD PTR FS:[EAX]
00511433 64:8920 MOV DWORD PTR FS:[EAX],ESP
00511436 E8 91D1FDFF CALL VCL70.@Controls@CancelDrag$qqrv
0051143B 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0051143E 8078 57 00 CMP BYTE PTR DS:[EAX+57],0
00511442 75 24 JNZ SHORT VCL70.00511468
00511444 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00511447 8B10 MOV EDX,DWORD PTR DS:[EAX]
00511449 FF52 50 CALL DWORD PTR DS:[EDX+50]
0051144C 84C0 TEST AL,AL
0051144E 74 18 JE SHORT VCL70.00511468
00511450 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00511453 F680 F4020000 08 TEST BYTE PTR DS:[EAX+2F4],8
0051145A 75 0C JNZ SHORT VCL70.00511468
0051145C 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0051145F 80B8 2F020000 01 CMP BYTE PTR DS:[EAX+22F],1
00511466 75 21 JNZ SHORT VCL70.00511489
00511468 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20]
0051146B A1 64555400 MOV EAX,DWORD PTR DS:[545564]
00511470 E8 CBFFF5FF CALL <JMP.&rtl70.@System@LoadResString$qqrp20System@TResStringRec>
00511475 8B4D E0 MOV ECX,DWORD PTR SS:[EBP-20]
00511478 B2 01 MOV DL,1
0051147A A1 80805400 MOV EAX,DWORD PTR DS:[<&rtl70.@Classes@EInvalidOperation@>]
0051147F E8 F81BF6FF CALL <JMP.&rtl70.@Sysutils@Exception@$bctr$qqrx17System@AnsiStrin>
00511484 E8 2FFDF5FF CALL <JMP.&rtl70.@System@@RaiseExcept$qqrv>
00511489 E8 6609F6FF CALL <JMP.&user32.GetCapture>
0051148E 85C0 TEST EAX,EAX
00511490 74 11 JE SHORT VCL70.005114A3
00511492 6A 00 PUSH 0
00511494 6A 00 PUSH 0
00511496 6A 1F PUSH 1F
00511498 E8 5709F6FF CALL <JMP.&user32.GetCapture>
0051149D 50 PUSH EAX
0051149E E8 610CF6FF CALL <JMP.&user32.SendMessageA>
005114A3 E8 1C0CF6FF CALL <JMP.&user32.ReleaseCapture>
005114A8 A1 48625400 MOV EAX,DWORD PTR DS:[@Forms@Application]
005114AD E8 B2290000 CALL VCL70.@Forms@TApplication@ModalStarted$qqrv
005114B2 33D2 XOR EDX,EDX
005114B4 55 PUSH EBP
005114B5 68 C3165100 PUSH VCL70.005116C3
005114BA 64:FF32 PUSH DWORD PTR FS:[EDX]
005114BD 64:8922 MOV DWORD PTR FS:[EDX],ESP
005114C0 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005114C3 8088 F4020000 08 OR BYTE PTR DS:[EAX+2F4],8
005114CA E8 1D09F6FF CALL <JMP.&user32.GetActiveWindow>
005114CF 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX
005114D2 A1 60505400 MOV EAX,DWORD PTR DS:[545060]
005114D7 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX
005114DA A1 4C625400 MOV EAX,DWORD PTR DS:[@Forms@Screen]
005114DF 8B48 78 MOV ECX,DWORD PTR DS:[EAX+78]
005114E2 A1 4C625400 MOV EAX,DWORD PTR DS:[@Forms@Screen]
005114E7 8B40 7C MOV EAX,DWORD PTR DS:[EAX+7C]
005114EA 33D2 XOR EDX,EDX
005114EC E8 4B11F6FF CALL <JMP.&rtl70.@Classes@TList@Insert$qqripv>
005114F1 A1 4C625400 MOV EAX,DWORD PTR DS:[@Forms@Screen]
005114F6 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
005114F9 8950 78 MOV DWORD PTR DS:[EAX+78],EDX
005114FC A1 4C625400 MOV EAX,DWORD PTR DS:[@Forms@Screen]
00511501 66:8B40 44 MOV AX,WORD PTR DS:[EAX+44]
00511505 66:8945 EE MOV WORD PTR SS:[EBP-12],AX
00511509 33D2 XOR EDX,EDX
0051150B A1 4C625400 MOV EAX,DWORD PTR DS:[@Forms@Screen]
00511510 E8 0F170000 CALL VCL70.@Forms@TScreen@SetCursor$qqr16Controls@TCursor
00511515 A1 4C625400 MOV EAX,DWORD PTR DS:[@Forms@Screen]
0051151A 8B40 48 MOV EAX,DWORD PTR DS:[EAX+48]
0051151D 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
00511520 33C0 XOR EAX,EAX
00511522 E8 5599FFFF CALL VCL70.@Forms@DisableTaskWindows$qqrui
00511527 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX
0051152A 33D2 XOR EDX,EDX
0051152C 55 PUSH EBP
0051152D 68 A1165100 PUSH VCL70.005116A1
00511532 64:FF32 PUSH DWORD PTR FS:[EDX]
00511535 64:8922 MOV DWORD PTR FS:[EDX],ESP
00511538 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0051153B E8 28FEFFFF CALL VCL70.@Forms@TCustomForm@Show$qqrv
00511540 33D2 XOR EDX,EDX
00511542 55 PUSH EBP
00511543 68 00165100 PUSH VCL70.00511600
00511548 64:FF32 PUSH DWORD PTR FS:[EDX]
0051154B 64:8922 MOV DWORD PTR FS:[EDX],ESP
0051154E 6A 00 PUSH 0
00511550 6A 00 PUSH 0
00511552 68 00B00000 PUSH 0B000
00511557 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0051155A E8 7156FEFF CALL VCL70.@Controls@TWinControl@GetHandle$qqrv
0051155F 50 PUSH EAX
00511560 E8 9F0BF6FF CALL <JMP.&user32.SendMessageA>
00511565 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00511568 33D2 XOR EDX,EDX
0051156A 8990 4C020000 MOV DWORD PTR DS:[EAX+24C],EDX
00511570 A1 48625400 MOV EAX,DWORD PTR DS:[@Forms@Application]**************
00511575 E8 5E380000 CALL VCL70.@Forms@TApplication@HandleMessage$qqrv
0051157A A1 48625400 MOV EAX,DWORD PTR DS:[@Forms@Application]
0051157F 80B8 9C000000 00 CMP BYTE PTR DS:[EAX+9C],0
00511586 74 0F JE SHORT VCL70.00511597
00511588 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0051158B C780 4C020000 02000000 MOV DWORD PTR DS:[EAX+24C],2
00511595 EB 14 JMP SHORT VCL70.005115AB 这一段是初始化窗体,在下面下个断点,F9,输入用户名:asanawen,试练码:99999999999
00511597 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0051159A 83B8 4C020000 00 CMP DWORD PTR DS:[EAX+24C],0
005115A1 74 08 JE SHORT VCL70.005115AB
005115A3 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005115A6 E8 D9F9FFFF CALL VCL70.@Forms@TCustomForm@CloseModal$qqrv
005115AB 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005115AE 8B80 4C020000 MOV EAX,DWORD PTR DS:[EAX+24C]
005115B4 85C0 TEST EAX,EAX
005115B6 ^74 B8 JE SHORT VCL70.00511570*******************************
005115B8 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX*******这里下断
005115BB 6A 00 PUSH 0
005115BD 6A 00 PUSH 0
005115BF 68 01B00000 PUSH 0B001
005115C4 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005115C7 E8 0456FEFF CALL VCL70.@Controls@TWinControl@GetHandle$qqrv
005115CC 50 PUSH EAX
005115CD E8 320BF6FF CALL <JMP.&user32.SendMessageA>
005115D2 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005115D5 E8 F655FEFF CALL VCL70.@Controls@TWinControl@GetHandle$qqrv
005115DA 8BD8 MOV EBX,EAX
005115DC E8 0B08F6FF CALL <JMP.&user32.GetActiveWindow>
005115E1 3BD8 CMP EBX,EAX
005115E3 74 05 JE SHORT VCL70.005115EA
005115E5 33C0 XOR EAX,EAX
005115E7 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX
005115EA 33C0 XOR EAX,EAX
005115EC 5A POP EDX
005115ED 59 POP ECX
005115EE 59 POP ECX
005115EF 64:8910 MOV DWORD PTR FS:[EAX],EDX
005115F2 68 07165100 PUSH VCL70.00511607
005115F7 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005115FA E8 61FDFFFF CALL VCL70.@Forms@TCustomForm@Hide$qqrv
005115FF C3 RETN
************************断下后F8若干步来到这里 006C2EEC 48 DEC EAX
006C2EED 0F85 CC000000 JNZ DTPUT.006C2FBF
006C2EF3 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
006C2EF6 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
006C2EF9 8B80 00030000 MOV EAX,DWORD PTR DS:[EAX+300]
006C2EFF E8 B0EEFBFF CALL <JMP.&vcl70.@Controls@TControl@GetText$qqrv>*******取用户名
006C2F04 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
006C2F07 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
006C2F0A 8B80 08030000 MOV EAX,DWORD PTR DS:[EAX+308]
006C2F10 E8 9FEEFBFF CALL <JMP.&vcl70.@Controls@TControl@GetText$qqrv>*******取试练码
006C2F15 8D4D F0 LEA ECX,DWORD PTR SS:[EBP-10]
006C2F18 8B83 2C030000 MOV EAX,DWORD PTR DS:[EBX+32C]
006C2F1E 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
006C2F21 E8 32F7FFFF CALL DTPUT.@Serialbuilder@Tdfgdfgf@GetKeyString$qqr17System@AnsiS>************检验用户名是否在数组中,跟进
006C2F26 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-10]
006C2F29 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
006C2F2C E8 77E2FBFF CALL <JMP.&rtl70.@System@@LStrCmp$qqrv>**************比较
006C2F31 75 6B JNZ SHORT DTPUT.006C2F9E
006C2F33 837D F8 00 CMP DWORD PTR SS:[EBP-8],0
006C2F37 74 65 JE SHORT DTPUT.006C2F9E
006C2F39 837D FC 00 CMP DWORD PTR SS:[EBP-4],0
006C2F3D 74 5F JE SHORT DTPUT.006C2F9E
006C2F3F 8B83 2C030000 MOV EAX,DWORD PTR DS:[EBX+32C]
006C2F45 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
006C2F48 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
006C2F4B E8 88F6FFFF CALL DTPUT.@Serialbuilder@Tdfgdfgf@PutRegCode$qqr17System@AnsiStr>
006C2F50 8B83 2C030000 MOV EAX,DWORD PTR DS:[EBX+32C]
006C2F56 E8 A5F9FFFF CALL DTPUT.@Serialbuilder@Tdfgdfgf@SaveToFile$qqrv 006C2048 55 PUSH EBP
006C2049 8BEC MOV EBP,ESP
006C204B 51 PUSH ECX
006C204C 53 PUSH EBX
006C204D 56 PUSH ESI
006C204E 8BF1 MOV ESI,ECX
006C2050 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
006C2053 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
006C2056 E8 55F1FBFF CALL <JMP.&rtl70.@System@@LStrAddRef$qqrpv>
006C205B 33C0 XOR EAX,EAX
006C205D 55 PUSH EBP
006C205E 68 AC206C00 PUSH DTPUT.006C20AC
006C2063 64:FF30 PUSH DWORD PTR FS:[EAX]
006C2066 64:8920 MOV DWORD PTR FS:[EAX],ESP
006C2069 8BC6 MOV EAX,ESI
006C206B E8 E0F0FBFF CALL <JMP.&rtl70.@System@@LStrClr$qqrpv>
006C2070 A1 EC416C00 MOV EAX,DWORD PTR DS:[6C41EC]
006C2075 8B00 MOV EAX,DWORD PTR DS:[EAX]
006C2077 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
006C207A 8B08 MOV ECX,DWORD PTR DS:[EAX]
006C207C FF51 54 CALL DWORD PTR DS:[ECX+54]
006C207F 8BD8 MOV EBX,EAX//注意这里:如果eax=-1,就废了,所以上面的call跟进
006C2081 83FB FF CMP EBX,-1
006C2084 74 10 JE SHORT DTPUT.006C2096
006C2086 8BCE MOV ECX,ESI
006C2088 A1 90416C00 MOV EAX,DWORD PTR DS:[6C4190]
006C208D 8B00 MOV EAX,DWORD PTR DS:[EAX]
006C208F 8BD3 MOV EDX,EBX
006C2091 8B18 MOV EBX,DWORD PTR DS:[EAX]
006C2093 FF53 0C CALL DWORD PTR DS:[EBX+C]
006C2096 33C0 XOR EAX,EAX
006C2098 5A POP EDX
006C2099 59 POP ECX
006C209A 59 POP ECX
006C209B 64:8910 MOV DWORD PTR FS:[EAX],EDX
006C209E 68 B3206C00 PUSH DTPUT.006C20B3
006C20A3 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
006C20A6 E8 A5F0FBFF CALL <JMP.&rtl70.@System@@LStrClr$qqrpv>
006C20AB C3 RETN
来到这里:
40031D8C > 53 PUSH EBX
40031D8D 56 PUSH ESI
40031D8E 51 PUSH ECX
40031D8F 8BF2 MOV ESI,EDX
40031D91 8BD8 MOV EBX,EAX
40031D93 807B 1C 00 CMP BYTE PTR DS:[EBX+1C],0
40031D97 75 0E JNZ SHORT RTL70.40031DA7
40031D99 8BD6 MOV EDX,ESI
40031D9B 8BC3 MOV EAX,EBX
40031D9D E8 BAF1FFFF CALL RTL70.@Classes@TStrings@IndexOf$qqrx17System@AnsiSt>//跟进
40031DA2 890424 MOV DWORD PTR SS:[ESP],EAX
40031DA5 EB 19 JMP SHORT RTL70.40031DC0
40031DA7 8BCC MOV ECX,ESP
40031DA9 8BD6 MOV EDX,ESI
40031DAB 8BC3 MOV EAX,EBX
40031DAD 8B18 MOV EBX,DWORD PTR DS:[EAX]
40031DAF FF93 8C000000 CALL DWORD PTR DS:[EBX+8C]//比较两个用户名,跟进
40031DB5 84C0 TEST AL,AL
40031DB7 75 07 JNZ SHORT RTL70.40031DC0
40031DB9 C70424 FFFFFFFF MOV DWORD PTR SS:[ESP],-1
40031DC0 8B0424 MOV EAX,DWORD PTR SS:[ESP]
40031DC3 5A POP EDX
40031DC4 5E POP ESI
40031DC5 5B POP EBX
40031DC6 C3 RETN //40031D9D处的call 40031CF4 > 53 PUSH EBX
40031CF5 56 PUSH ESI
40031CF6 57 PUSH EDI
40031CF7 8BF9 MOV EDI,ECX
40031CF9 8BF2 MOV ESI,EDX
40031CFB 8BD8 MOV EBX,EAX
40031CFD 85F6 TEST ESI,ESI
40031CFF 7C 05 JL SHORT RTL70.40031D06
40031D01 3B73 14 CMP ESI,DWORD PTR DS:[EBX+14]
40031D04 7C 0F JL SHORT RTL70.40031D15
40031D06 8B15 FC510740 MOV EDX,DWORD PTR DS:[400751FC] ; RTL70.@Rtlconsts@_SListIndexError
40031D0C 8BCE MOV ECX,ESI
40031D0E 8BC3 MOV EAX,EBX
40031D10 E8 9FEBFFFF CALL RTL70.@Classes@TStrings@Error$qqrp20System@TResStri>
40031D15 8BC7 MOV EAX,EDI
40031D17 8B53 10 MOV EDX,DWORD PTR DS:[EBX+10]
40031D1A 8B14F2 MOV EDX,DWORD PTR DS:[EDX+ESI*8]//真正的用户名到了edx了
40031D1D E8 DE4BFDFF CALL RTL70.@System@@LStrAsg$qqrpvpxv
40031D22 5F POP EDI
40031D23 5E POP ESI
40031D24 5B POP EBX
40031D25 C3 RETN//返回上面40031DA2
//40031DAF处的call 40032084 > 8078 1E 00 CMP BYTE PTR DS:[EAX+1E],0
40032088 74 0A JE SHORT RTL70.40032094//跳到retn下面一行
4003208A 8BC2 MOV EAX,EDX
4003208C 8BD1 MOV EDX,ECX
4003208E E8 A1A6FDFF CALL RTL70.@Sysutils@AnsiCompareStr$qqrx17System@AnsiStr>
40032093 C3 RETN
40032094 8BC2 MOV EAX,EDX
40032096 8BD1 MOV EDX,ECX
40032098 E8 E7A6FDFF CALL RTL70.@Sysutils@AnsiCompareText$qqrx17System@AnsiSt>//跟进
4003209D C3 RETN//返回40031DB5
//40032098处的call
4000C784 > 53 PUSH EBX
4000C785 56 PUSH ESI
4000C786 8BF2 MOV ESI,EDX
4000C788 8BD8 MOV EBX,EAX
4000C78A 8BC6 MOV EAX,ESI
4000C78C E8 07A4FFFF CALL RTL70.@System@@LStrLen$qqrx17System@AnsiString
4000C791 50 PUSH EAX
4000C792 8BC6 MOV EAX,ESI
4000C794 E8 FFA5FFFF CALL RTL70.@System@@LStrToPChar$qqrx17System@AnsiString
4000C799 50 PUSH EAX
4000C79A 8BC3 MOV EAX,EBX
4000C79C E8 F7A3FFFF CALL RTL70.@System@@LStrLen$qqrx17System@AnsiString
4000C7A1 50 PUSH EAX
4000C7A2 8BC3 MOV EAX,EBX
4000C7A4 E8 EFA5FFFF CALL RTL70.@System@@LStrToPChar$qqrx17System@AnsiString
4000C7A9 50 PUSH EAX
4000C7AA 6A 01 PUSH 1
4000C7AC 68 00040000 PUSH 400
4000C7B1 E8 CED7FFFF CALL <JMP.&kernel32.CompareStringA>
4000C7B6 83E8 02 SUB EAX,2//如果两字符串相同则eax=0,如不同eax=1,将这行改为:dec eax
4000C7B9 5E POP ESI
4000C7BA 5B POP EBX
4000C7BB C3 RETN//返回4003209D
当来到这里时:
006C205D 55 PUSH EBP
006C205E 68 AC206C00 PUSH DTPUT.006C20AC
006C2063 64:FF30 PUSH DWORD PTR FS:[EAX]
006C2066 64:8920 MOV DWORD PTR FS:[EAX],ESP
006C2069 8BC6 MOV EAX,ESI
006C206B E8 E0F0FBFF CALL <JMP.&rtl70.@System@@LStrClr$qqrpv>
006C2070 A1 EC416C00 MOV EAX,DWORD PTR DS:[6C41EC]
006C2075 8B00 MOV EAX,DWORD PTR DS:[EAX]
006C2077 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
006C207A 8B08 MOV ECX,DWORD PTR DS:[EAX]
006C207C FF51 54 CALL DWORD PTR DS:[ECX+54]
006C207F 8BD8 MOV EBX,EAX
006C2081 83FB FF CMP EBX,-1
006C2084 74 10 JE SHORT DTPUT.006C2096
006C2086 8BCE MOV ECX,ESI
006C2088 A1 90416C00 MOV EAX,DWORD PTR DS:[6C4190]
006C208D 8B00 MOV EAX,DWORD PTR DS:[EAX]
006C208F 8BD3 MOV EDX,EBX
006C2091 8B18 MOV EBX,DWORD PTR DS:[EAX]
006C2093 FF53 0C CALL DWORD PTR DS:[EBX+C]//这里取注册码
006C2096 33C0 XOR EAX,EAX
006C2098 5A POP EDX
006C2099 59 POP ECX
006C209B 64:8910 MOV DWORD PTR FS:[EAX],EDX
006C209E 68 B3206C00 PUSH DTPUT.006C20B3
006C20A3 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
006C20A6 E8 A5F0FBFF CALL <JMP.&rtl70.@System@@LStrClr$qqrpv>
006C20AB C3 RETN//返回
这时可以按F9了,回到程序,输入用户名和注册码。
其实,用户名和注册码都在windows\system\dtput.bpl中。用户名和注册码
都是明码,呵呵,作者胆子很大呀!
程序加载后,转到dtput.bpl模块中,搜索字符,就可以看到。
这回可真的完活了。哈哈。他的2.2版也是这种形式,只是注册码和用户名换了
*******************************真tmd太变态了*******爆了它
请出著名的金山游侠,当当当当
用软件自带的debug,在任务上右键就能看到,F6,一个一个搜索,最后剩5个,
通过检测(用游侠的锁定为0),确定为1c73a44,(2.2版的在1cd4c8c)注:这个地址不确定.如果这里保持为0,程序就能正常运行。下内存访问断点:
让使这里的值变化的指令为nop就可以了。
006A8E7A 64:8922 MOV DWORD PTR FS:[EDX],ESP
006A8E7D 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
006A8E80 FF80 B8010000 INC DWORD PTR DS:[EAX+1B8] *****这句nop掉,保存,再加上上面的注册,可以用啦
006A8E86 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
006A8E89 8B10 MOV EDX,DWORD PTR DS:[EAX]
006A8E8B FF52 3C CALL DWORD PTR DS:[EDX+3C]
006A8E8E 84C0 TEST AL,AL
006A8E90 0F84 FE040000 JE DTPUT.006A9394
006A8E96 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
006A8E99 E8 66F2FFFF CALL DTPUT.@Dtjobobj@TDBLink@IsDebug$qqr>
这回还不完活我可真的要死掉了!!!!