好友
阅读权限255
听众
最后登录1970-1-1
|
【文章标题】大唐通讯录 V 1.30 算法分析+注册机源代码
【文章作者】ZzAge
【作者 Q Q】85400516
【作者邮箱】zzage@163.com
【软件名臣】大唐通讯录 V 1.30
【使用工具】OllyDbg,Delphi7
【操作平台】盗版XP
【软件说明】大唐通讯录是一个小型简洁实用的通讯录管理程序,使用简单,界面美观大方。可以管理自己的亲朋好
友、同学同事、业务客户等的通讯资料,能直接建立分类,如同学类、朋友类、同事类等任意的分类项目。启动时需
要输入密码,使其它人不能看到你的通讯资料,让你的信息更安全。查询栏让你很快找到你的联系人。
---------------------------{破解过程}---------------------------------------
写此文章,纯属于心血来潮,因为自己从来没写过破解的文章.....所以就出来献丑一下!
此文是菜鸟级的文章,是适合初学入门者看看....高手的就此闪过吧....
一,用OllyDbg载入目标程序, 查询下字符串,找到{注册成功}的提示信息...双击!
005D22E8 /. 55 PUSH EBP
005D22E9 |. 8BEC MOV EBP,ESP
005D22EB |. 33C9 XOR ECX,ECX
005D22ED |. 51 PUSH ECX
005D22EE |. 51 PUSH ECX
005D22EF |. 51 PUSH ECX
005D22F0 |. 51 PUSH ECX
005D22F1 |. 53 PUSH EBX
005D22F2 |. 8BD8 MOV EBX,EAX
005D22F4 |. 33C0 XOR EAX,EAX
005D22F6 |. 55 PUSH EBP
005D22F7 |. 68 E8235D00 PUSH Contacts.005D23E8
005D22FC |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005D22FF |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005D2302 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
005D2305 |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
005D230B |. E8 2442EBFF CALL Contacts.00486534
005D2310 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //把注册名传送到EAX
005D2313 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
005D2316 |. E8 7575E3FF CALL Contacts.00409890
005D231B |. 837D FC 00 CMP DWORD PTR SS:[EBP-4],0 ; //判断注册名是否为空,为空则不跳
!
005D231F |. 75 29 JNZ SHORT Contacts.005D234A
005D2321 |. 6A 40 PUSH 40
005D2323 |. 68 F4235D00 PUSH Contacts.005D23F4 ; Warning
005D2328 |. 68 FC235D00 PUSH Contacts.005D23FC ; 请输入注册名!
005D232D |. 8BC3 MOV EAX,EBX
005D232F |. E8 D0ABEBFF CALL Contacts.0048CF04
005D2334 |. 50 PUSH EAX ; |hOwner
005D2335 |. E8 CA5BE3FF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
005D233A |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
005D2340 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
005D2342 |. FF92 C4000000 CALL DWORD PTR DS:[EDX+C4]
005D2348 |. EB 70 JMP SHORT Contacts.005D23BA
005D234A |> 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
005D234D |. 8B83 10030000 MOV EAX,DWORD PTR DS:[EBX+310]
005D2353 |. E8 DC41EBFF CALL Contacts.00486534
005D2358 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; //把注册码传送到EAX
005D235B |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
005D235E |. E8 2D75E3FF CALL Contacts.00409890
005D2363 |. 837D F4 00 CMP DWORD PTR SS:[EBP-C],0 ; //判断注册名是否为空,为空则不跳
!
005D2367 |. 75 29 JNZ SHORT Contacts.005D2392
005D2369 |. 6A 40 PUSH 40
005D236B |. 68 F4235D00 PUSH Contacts.005D23F4 ; Warning
005D2370 |. 68 0C245D00 PUSH Contacts.005D240C ; 请输入注册码!
005D2375 |. 8BC3 MOV EAX,EBX
005D2377 |. E8 88ABEBFF CALL Contacts.0048CF04
005D237C |. 50 PUSH EAX ; |hOwner
005D237D |. E8 825BE3FF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
005D2382 |. 8B83 10030000 MOV EAX,DWORD PTR DS:[EBX+310]
005D2388 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
005D238A |. FF92 C4000000 CALL DWORD PTR DS:[EDX+C4]
005D2390 |. EB 28 JMP SHORT Contacts.005D23BA
005D2392 |> 8BC3 MOV EAX,EBX
005D2394 |. E8 1FFDFFFF CALL Contacts.005D20B8 ; //算法CALL,F7进入!!!!!
005D2399 |. 84C0 TEST AL,AL
005D239B |. 74 13 JE SHORT Contacts.005D23B0
005D239D |. B8 24245D00 MOV EAX,Contacts.005D2424 ; 注册成功!
005D23A2 |. E8 FDACE6FF CALL Contacts.0043D0A4
005D23A7 |. 8BC3 MOV EAX,EBX
005D23A9 |. E8 F2FAFFFF CALL Contacts.005D1EA0
005D23AE |. EB 0A JMP SHORT Contacts.005D23BA
005D23B0 |> B8 38245D00 MOV EAX,Contacts.005D2438 ; 注册码错误!
005D23B5 |. E8 EAACE6FF CALL Contacts.0043D0A4
005D23BA |> 33C0 XOR EAX,EAX
005D23BC |. 5A POP EDX
005D23BD |. 59 POP ECX
005D23BE |. 59 POP ECX
005D23BF |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
005D23C2 |. 68 EF235D00 PUSH Contacts.005D23EF
005D23C7 |> 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005D23CA |. E8 7525E3FF CALL Contacts.00404944
005D23CF |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
005D23D2 |. E8 6D25E3FF CALL Contacts.00404944
005D23D7 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
005D23DA |> E8 6525E3FF CALL Contacts.00404944
005D23DF |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
005D23E2 |. E8 5D25E3FF CALL Contacts.00404944
005D23E7 \. C3 RETN
005D23E8 .^ E9 7B1EE3FF JMP Contacts.00404268
005D23ED .^ EB D8 JMP SHORT Contacts.005D23C7
005D23EF . 5B POP EBX
005D23F0 . 8BE5 MOV ESP,EBP
005D23F2 . 5D POP EBP
005D23F3 > C3 RETN
二 进入到005D20B8的 CALL
005D20B8 /$ 55 PUSH EBP
005D20B9 |. 8BEC MOV EBP,ESP
005D20BB |. B9 04000000 MOV ECX,4
005D20C0 |> 6A 00 /PUSH 0
005D20C2 |. 6A 00 |PUSH 0
005D20C4 |. 49 |DEC ECX
005D20C5 |.^ 75 F9 \JNZ SHORT Contacts.005D20C0
005D20C7 |. 51 PUSH ECX
005D20C8 |. 53 PUSH EBX
005D20C9 |. 56 PUSH ESI
005D20CA |. 8BF0 MOV ESI,EAX
005D20CC |. 33C0 XOR EAX,EAX
005D20CE |. 55 PUSH EBP
005D20CF |. 68 CD215D00 PUSH Contacts.005D21CD
005D20D4 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005D20D7 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005D20DA |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
005D20DD |. 8B86 10030000 MOV EAX,DWORD PTR DS:[ESI+310]
005D20E3 |. E8 4C44EBFF CALL Contacts.00486534
005D20E8 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //把注册码传送到EAX
005D20EB |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
005D20EE |. E8 9D77E3FF CALL Contacts.00409890
005D20F3 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005D20F6 |. 50 PUSH EAX
005D20F7 |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
005D20FA |. 8B86 0C030000 MOV EAX,DWORD PTR DS:[ESI+30C]
005D2100 |. E8 2F44EBFF CALL Contacts.00486534
005D2105 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] ; //把注册名传送到EAX
005D2108 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
005D210B |. E8 8077E3FF CALL Contacts.00409890
005D2110 |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
005D2113 |. 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C]
005D2116 |. 8BC6 MOV EAX,ESI
005D2118 |. E8 8FFBFFFF CALL Contacts.005D1CAC ; //算法CALL,F7进!!!!
005D211D |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C] ; //把计算完后的真注册码传送到EDX
!这里可以做内存注册机
005D2120 |. 58 POP EAX ; //把先前输入的伪注册码弹出
005D2121 |. E8 2A2CE3FF CALL Contacts.00404D50 ; //经典的比较CALL,把伪注册码与真
注册码进行比较
005D2126 |. 75 50 JNZ SHORT Contacts.005D2178 ; //如果不相等则跳向注册失败!经
典爆破点!在此NOP掉,就能进行爆破软件!
005D2128 |. B3 01 MOV BL,1
005D212A |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
005D212D |. 8B86 0C030000 MOV EAX,DWORD PTR DS:[ESI+30C]
005D2133 |. E8 FC43EBFF CALL Contacts.00486534
005D2138 |. 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C]
005D213B |. 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
005D213E |. E8 4D77E3FF CALL Contacts.00409890
005D2143 |. 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
005D2146 |. B8 38DB6000 MOV EAX,Contacts.0060DB38
005D214B |. E8 4828E3FF CALL Contacts.00404998
005D2150 |. 8D55 DC LEA EDX,DWORD PTR SS:[EBP-24]
005D2153 |. 8B86 10030000 MOV EAX,DWORD PTR DS:[ESI+310]
005D2159 |. E8 D643EBFF CALL Contacts.00486534
005D215E |. 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24]
005D2161 |. 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20]
005D2164 |. E8 2777E3FF CALL Contacts.00409890
005D2169 |. 8B55 E0 MOV EDX,DWORD PTR SS:[EBP-20]
005D216C |. B8 3CDB6000 MOV EAX,Contacts.0060DB3C
005D2171 |. E8 2228E3FF CALL Contacts.00404998
005D2176 |. EB 02 JMP SHORT Contacts.005D217A
005D2178 |> 33DB XOR EBX,EBX
005D217A |> 33C0 XOR EAX,EAX
005D217C |. 5A POP EDX
005D217D |. 59 POP ECX
005D217E |. 59 POP ECX
005D217F |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
005D2182 |. 68 D4215D00 PUSH Contacts.005D21D4
005D2187 |> 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
005D218A |. E8 B527E3FF CALL Contacts.00404944
005D218F |. 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
005D2192 |. E8 AD27E3FF CALL Contacts.00404944
005D2197 |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]
005D219A |. E8 A527E3FF CALL Contacts.00404944
005D219F |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
005D21A2 |. E8 9D27E3FF CALL Contacts.00404944
005D21A7 |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
005D21AA |. E8 9527E3FF CALL Contacts.00404944
005D21AF |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005D21B2 |. BA 02000000 MOV EDX,2
005D21B7 |. E8 AC27E3FF CALL Contacts.00404968
005D21BC |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
005D21BF |. E8 8027E3FF CALL Contacts.00404944
005D21C4 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
005D21C7 |. E8 7827E3FF CALL Contacts.00404944
005D21CC \. C3 RETN
005D21CD .^ E9 9620E3FF JMP Contacts.00404268
005D21D2 .^ EB B3 JMP SHORT Contacts.005D2187
005D21D4 . 8BC3 MOV EAX,EBX
005D21D6 . 5E POP ESI
005D21D7 . 5B POP EBX
005D21D8 . 8BE5 MOV ESP,EBP
005D21DA . 5D POP EBP
005D21DB . C3 RETN
三 进入到005D1CAC的CALL
005D1CAC /$ 55 PUSH EBP
005D1CAD |. 8BEC MOV EBP,ESP
005D1CAF |. 51 PUSH ECX
005D1CB0 |. B9 04000000 MOV ECX,4
005D1CB5 |> 6A 00 /PUSH 0
005D1CB7 |. 6A 00 |PUSH 0
005D1CB9 |. 49 |DEC ECX
005D1CBA |.^ 75 F9 \JNZ SHORT Contacts.005D1CB5
005D1CBC |. 51 PUSH ECX
005D1CBD |. 874D FC XCHG DWORD PTR SS:[EBP-4],ECX
005D1CC0 |. 53 PUSH EBX
005D1CC1 |. 56 PUSH ESI
005D1CC2 |. 57 PUSH EDI
005D1CC3 |. 8BF9 MOV EDI,ECX
005D1CC5 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
005D1CC8 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005D1CCB |. E8 2431E3FF CALL Contacts.00404DF4
005D1CD0 |. 33C0 XOR EAX,EAX
005D1CD2 |. 55 PUSH EBP
005D1CD3 |. 68 6D1E5D00 PUSH Contacts.005D1E6D
005D1CD8 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005D1CDB |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005D1CDE |. 8BC7 MOV EAX,EDI
005D1CE0 |. E8 5F2CE3FF CALL Contacts.00404944
005D1CE5 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005D1CE8 |. E8 172FE3FF CALL Contacts.00404C04
005D1CED |. 8BF0 MOV ESI,EAX
005D1CEF |. 85F6 TEST ESI,ESI ; //检测注册名位数
005D1CF1 |. 7E 26 JLE SHORT Contacts.005D1D19 ; //小于或等于0则跳走
005D1CF3 |. BB 01000000 MOV EBX,1
005D1CF8 |> 8D4D EC /LEA ECX,DWORD PTR SS:[EBP-14]
005D1CFB |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4] ; //把注册码名送到EAX
005D1CFE |. 0FB64418 FF |MOVZX EAX,BYTE PTR DS:[EAX+EBX-1] ; //取每一位注册名的ASCII码传送到
EAX
005D1D03 |. 33D2 |XOR EDX,EDX ; //清空EDX
005D1D05 |. E8 9E82E3FF |CALL Contacts.00409FA8
005D1D0A |. 8B55 EC |MOV EDX,DWORD PTR SS:[EBP-14] ; //取每一位注册名的ASCII码传送到
EDX
005D1D0D |. 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8]
005D1D10 |. E8 F72EE3FF |CALL Contacts.00404C0C
005D1D15 |. 43 |INC EBX
005D1D16 |. 4E |DEC ESI ; //ESI自身减1,则计算的注册名为0
时则不再继续循环!
005D1D17 |.^ 75 DF \JNZ SHORT Contacts.005D1CF8 ; //跳回循环计算
005D1D19 |> 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //把转换成ASCII的注册名传送到
EAX
005D1D1C |. E8 E32EE3FF CALL Contacts.00404C04
005D1D21 |. 8BF0 MOV ESI,EAX ; //把注册名的位数传送到ESI
005D1D23 |. 85F6 TEST ESI,ESI ; //检测注册名位数
005D1D25 |. 7E 2C JLE SHORT Contacts.005D1D53 ; //小于或等于0则跳走
005D1D27 |. BB 01000000 MOV EBX,1
005D1D2C |> 8B45 F8 /MOV EAX,DWORD PTR SS:[EBP-8] ; //取注册名的ASCII码传送到EAX
005D1D2F |. E8 D02EE3FF |CALL Contacts.00404C04
005D1D34 |. 2BC3 |SUB EAX,EBX ; //注册名的ASCII码位数减1
005D1D36 |. 8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8] ; //取注册名的ASCII码传送到EDX
005D1D39 |. 8A1402 |MOV DL,BYTE PTR DS:[EDX+EAX] ; //取转成ASCII码的注册名倒数顺序
每一位的值传送到DL
005D1D3C |. 8D45 E8 |LEA EAX,DWORD PTR SS:[EBP-18]
005D1D3F |. E8 E82DE3FF |CALL Contacts.00404B2C
005D1D44 |. 8B55 E8 |MOV EDX,DWORD PTR SS:[EBP-18]
005D1D47 |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C]
005D1D4A |. E8 BD2EE3FF |CALL Contacts.00404C0C
005D1D4F |. 43 |INC EBX
005D1D50 |. 4E |DEC ESI ; //ESI自身减1,则计算的注册名为0
时则不再继续循环!
005D1D51 |.^ 75 D9 \JNZ SHORT Contacts.005D1D2C
005D1D53 |> 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
005D1D56 |. 50 PUSH EAX
005D1D57 |. B9 04000000 MOV ECX,4
005D1D5C |. BA 01000000 MOV EDX,1
005D1D61 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; //把倒序后的注册名传送到EAX
005D1D64 |. E8 FB30E3FF CALL Contacts.00404E64
005D1D69 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
005D1D6C |. 50 PUSH EAX
005D1D6D |. B9 04000000 MOV ECX,4
005D1D72 |. BA 05000000 MOV EDX,5
005D1D77 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005D1D7A |. E8 E530E3FF CALL Contacts.00404E64
005D1D7F |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //取倒序后的注册名第1-4位传送到
EAX
005D1D82 |. E8 7D2EE3FF CALL Contacts.00404C04
005D1D87 |. 83F8 04 CMP EAX,4 ; //如果取得的位数大于或等于4!则
跳
005D1D8A |. 7D 2F JGE SHORT Contacts.005D1DBB
005D1D8C |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
005D1D8F |. E8 702EE3FF CALL Contacts.00404C04
005D1D94 |. 8BD8 MOV EBX,EAX
005D1D96 |. 83FB 03 CMP EBX,3
005D1D99 |. 7F 20 JG SHORT Contacts.005D1DBB
005D1D9B |> 8D4D E4 /LEA ECX,DWORD PTR SS:[EBP-1C]
005D1D9E |. 8BC3 |MOV EAX,EBX
005D1DA0 |. C1E0 02 |SHL EAX,2
005D1DA3 |. 33D2 |XOR EDX,EDX
005D1DA5 |. E8 FE81E3FF |CALL Contacts.00409FA8
005D1DAA |. 8B55 E4 |MOV EDX,DWORD PTR SS:[EBP-1C]
005D1DAD |. 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8]
005D1DB0 |. E8 572EE3FF |CALL Contacts.00404C0C
005D1DB5 |. 43 |INC EBX
005D1DB6 |. 83FB 04 |CMP EBX,4
005D1DB9 |.^ 75 E0 \JNZ SHORT Contacts.005D1D9B
005D1DBB |> 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; //取倒序后的注册名位第5-8位传送
到EAX
005D1DBE |. E8 412EE3FF CALL Contacts.00404C04
005D1DC3 |. 83F8 04 CMP EAX,4 ; //如果取得的位数大于或等于4!则
跳
005D1DC6 |. 7D 2F JGE SHORT Contacts.005D1DF7
005D1DC8 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005D1DCB |. E8 342EE3FF CALL Contacts.00404C04
005D1DD0 |. 8BD8 MOV EBX,EAX
005D1DD2 |. 83FB 03 CMP EBX,3
005D1DD5 |. 7F 20 JG SHORT Contacts.005D1DF7
005D1DD7 |> 8D4D E0 /LEA ECX,DWORD PTR SS:[EBP-20]
005D1DDA |. 8BC3 |MOV EAX,EBX
005D1DDC |. C1E0 02 |SHL EAX,2
005D1DDF |. 33D2 |XOR EDX,EDX
005D1DE1 |. E8 C281E3FF |CALL Contacts.00409FA8
005D1DE6 |. 8B55 E0 |MOV EDX,DWORD PTR SS:[EBP-20]
005D1DE9 |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C]
005D1DEC |. E8 1B2EE3FF |CALL Contacts.00404C0C
005D1DF1 |. 43 |INC EBX
005D1DF2 |. 83FB 04 |CMP EBX,4
005D1DF5 |.^ 75 E0 \JNZ SHORT Contacts.005D1DD7
005D1DF7 |> 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005D1DFA |. BA 841E5D00 MOV EDX,Contacts.005D1E84 ; //载入固定常数Con62bsar698
005D1DFF |. E8 D82BE3FF CALL Contacts.004049DC
005D1E04 |. 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
005D1E07 |. 50 PUSH EAX
005D1E08 |. B9 04000000 MOV ECX,4
005D1E0D |. BA 01000000 MOV EDX,1
005D1E12 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
005D1E15 |. E8 4A30E3FF CALL Contacts.00404E64
005D1E1A |. FF75 DC PUSH DWORD PTR SS:[EBP-24] ; //取固定常数的第1-4位 [设为A]
005D1E1D |. 68 9C1E5D00 PUSH Contacts.005D1E9C ; //取连接号“-”
005D1E22 |. FF75 F8 PUSH DWORD PTR SS:[EBP-8] ; //取倒序后的注册名第1-4位传送到
EAX [设为B]
005D1E25 |. 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]
005D1E28 |. 50 PUSH EAX
005D1E29 |. B9 05000000 MOV ECX,5
005D1E2E |. BA 05000000 MOV EDX,5
005D1E33 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
005D1E36 |. E8 2930E3FF CALL Contacts.00404E64
005D1E3B |. FF75 D8 PUSH DWORD PTR SS:[EBP-28] ; //取固定常数的第5-8位 [设为C]
005D1E3E |. 68 9C1E5D00 PUSH Contacts.005D1E9C ; //取连接号“-”
005D1E43 |. FF75 F4 PUSH DWORD PTR SS:[EBP-C] ; //取倒序后的注册名第5-8位传送到
EAX [设为D]
005D1E46 |. 8BC7 MOV EAX,EDI
005D1E48 |. BA 06000000 MOV EDX,6
005D1E4D |. E8 722EE3FF CALL Contacts.00404CC4 ; 把注册码以A-BC-D的方式连接起来
的CALL!
005D1E52 |. 33C0 XOR EAX,EAX ; Contacts.005D1E52
005D1E54 |. 5A POP EDX
005D1E55 |. 59 POP ECX
005D1E56 |. 59 POP ECX
005D1E57 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
005D1E5A |. 68 741E5D00 PUSH Contacts.005D1E74
005D1E5F |> 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]
005D1E62 |. BA 0A000000 MOV EDX,0A
005D1E67 |. E8 FC2AE3FF CALL Contacts.00404968
005D1E6C \. C3 RETN
--------------------------{破解完毕}----------------------------------------
注册机源代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, WinSkinData;type TForm1 = class(TForm) GroupBox1: TGroupBox; Edit1: TEdit; Edit2: TEdit; Label4: TLabel; Label5: TLabel; Button2: TButton; Label1: TLabel; Label2: TLabel; SkinData1: TSkinData; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}function StrToBack(s: string): string; var i:integer;begin for i:=1 to length(s) do begin result :=s[i]+result; end;end;procedure TForm1.Button1Click(Sender: TObject);vari:integer;a,a1:string;beginbeginfor i:=1 to length(edit1.text) dobegina:=a+InttoHex(ord(edit1.text[i]),2);end;end;a1:=StrToBack(a);Edit2.Text:='Con6'+'-'+copy(a1,1,4)+'2bsar'+'-'+copy(a1,5,4);end;end.
------------------------------------------------------------------------------------------------
版权声明:此文发布于 Http://www.52pojie.cn [2008.4.3] 谢绝非法转载
------------------------------------------------------------------------------------------------
|
|