瑞科英语通 V3.0
软件大小: 2327 KB
软件语言: 简体中文
软件类别: 国产软件 / 共享版 / 外语学习
应用平台: Win9x/NT/2000/XP
界面预览: 无
加入时间: 2003-04-25 09:31:32
下载地址: http://www.skycn.com/soft/11849.html
联 系 人: zcgkali@kali.com.cn
开 发 商: http://rike.yeah.net/
软件介绍:
"瑞科英语通"是一款个人英语学习和学校课堂辅助教学的软件。精通英语必须经常性地
进行"听,说、读、写"的练习,"瑞科英语通"就是帮助你进行这些综合练习的学习和教学软
件,本软件结合了多种成功的英语学习和英语教学经验,提供了超强的"听,说、读、写"的
功能、科学的并可随心所欲组合的学习方法,使您在很短的时间内提高"听,说、读、写"的
能力,使您成为名符其实的英语通。
【作者声明】:本人只是对Crack感兴趣,没有其它目的。
【破解工具】:Ollydbg1.09 中文版
—————————————————————————————
【过 程】:
由于是vb程序,所以在Ollydbg中用ALT+E到MSVBVM60.DLL领空,下__vbastrcmp中断。
来到这里:
004AA515 PUSH EBX
004AA516 PUSH EAX
004AA517 CALL DWORD PTR DS:[401060]
004AA51D MOV EAX, DWORD PTR SS:[EBP-2C]
004AA520 LEA ECX, DWORD PTR SS:[EBP-54]
004AA523 MOV DWORD PTR SS:[EBP-3C], EAX
004AA526 LEA EAX, DWORD PTR SS:[EBP-44]
004AA529 PUSH EAX
004AA52A PUSH ECX
004AA52B MOV DWORD PTR SS:[EBP-2C], EDI
004AA52E MOV DWORD PTR SS:[EBP-44], 8
004AA535 CALL DWORD PTR DS:[4010A4]
004AA53B LEA EDX, DWORD PTR SS:[EBP-54]
004AA53E PUSH EDX
004AA53F CALL DWORD PTR DS:[401024]
004AA545 MOV EBX, DWORD PTR DS:[4011D4]
004AA54B MOV EDX, EAX
004AA54D LEA ECX, DWORD PTR SS:[EBP-24]
004AA550 CALL EBX
; EDI<--0015CCB4,(UNICODE "59622746")
004AA552 LEA ECX, DWORD PTR SS:[EBP-34]
004AA555 CALL DWORD PTR DS:[401200]
004AA55B LEA EAX, DWORD PTR SS:[EBP-54]
004AA55E LEA ECX, DWORD PTR SS:[EBP-44]
004AA561 PUSH EAX
004AA562 PUSH ECX
004AA563 PUSH 2
004AA565 CALL DWORD PTR DS:[401034]
004AA56B MOV EDX, DWORD PTR DS:[ESI]
004AA56D ADD ESP, 0C
004AA570 PUSH ESI
004AA571 CALL DWORD PTR DS:[EDX+308]
004AA577 PUSH EAX
004AA578 LEA EAX, DWORD PTR SS:[EBP-34]
004AA57B PUSH EAX
004AA57C CALL DWORD PTR DS:[40107C]
004AA582 MOV ESI, EAX
004AA584 LEA EDX, DWORD PTR SS:[EBP-2C]
004AA587 PUSH EDX
004AA588 PUSH ESI
004AA589 MOV ECX, DWORD PTR DS:[ESI]
004AA58B CALL DWORD PTR DS:[ECX+A0]
004AA591 CMP EAX, EDI
004AA593 FCLEX
004AA595 JGE SHORT 004AA5A9
004AA597 PUSH 0A0
004AA59C PUSH 462E34
004AA5A1 PUSH ESI
004AA5A2 PUSH EAX
004AA5A3 CALL DWORD PTR DS:[401060]
004AA5A9 MOV EAX, DWORD PTR SS:[EBP-2C]
; EAX<--0015CCEC,(UNICODE "789456123")<--试验码
004AA5AC LEA ECX, DWORD PTR SS:[EBP-54]
004AA5AF MOV DWORD PTR SS:[EBP-3C], EAX
004AA5B2 LEA EAX, DWORD PTR SS:[EBP-44]
004AA5B5 PUSH EAX
004AA5B6 PUSH ECX
004AA5B7 MOV DWORD PTR SS:[EBP-2C], EDI
004AA5BA MOV DWORD PTR SS:[EBP-44], 8
004AA5C1 CALL DWORD PTR DS:[4010A4]
004AA5C7 LEA EDX, DWORD PTR SS:[EBP-54]
004AA5CA PUSH EDX
004AA5CB CALL DWORD PTR DS:[401024]
004AA5D1 MOV EDX, EAX
; EDX<--0015CCEC,(UNICODE "789456123")
004AA5D3 LEA ECX, DWORD PTR SS:[EBP-28]
004AA5D6 CALL EBX
004AA5D8 LEA ECX, DWORD PTR SS:[EBP-34]
004AA5DB CALL DWORD PTR DS:[401200]
004AA5E1 MOV ESI, DWORD PTR DS:[401034]
004AA5E7 LEA EAX, DWORD PTR SS:[EBP-54]
004AA5EA LEA ECX, DWORD PTR SS:[EBP-44]
004AA5ED PUSH EAX
004AA5EE PUSH ECX
004AA5EF PUSH 2
004AA5F1 CALL ESI
004AA5F3 ADD ESP, 0C
004AA5F6 MOV EDX, 462068
; UNICODE "zcgrike640315"
004AA5FB LEA ECX, DWORD PTR SS:[EBP-2C]
004AA5FE CALL DWORD PTR DS:[401184]
; 0015CCEC<-- UNICODE "zcgrike640315"
004AA604 LEA EDX, DWORD PTR SS:[EBP-2C]
004AA607 LEA EAX, DWORD PTR SS:[EBP-28]
004AA60A PUSH EDX
004AA60B PUSH EAX
004AA60C CALL 004A0E30 ; <--用上面的字符串和试验码计算出用户号
=======>F8
------用上面的字符串和试验码计算出用户号
004A0EBC PUSH 20
004A0EBE PUSH 46217C
004A0EC3 PUSH EDI
004A0EC4 PUSH EAX
004A0EC5 CALL DWORD PTR DS:[401060]
004A0ECB LEA ECX, DWORD PTR SS:[EBP-48]
004A0ECE CALL DWORD PTR DS:[401200]
004A0ED4 MOV ESI, DWORD PTR SS:[EBP+C]
004A0ED7 PUSH ESI
004A0ED8 CALL 004A0C40
004A0EDD MOV EDX, EAX
004A0EDF MOV ECX, ESI
004A0EE1 MOV ESI, DWORD PTR DS:[4011D4]
004A0EE7 CALL ESI
004A0EE9 MOV EDX, DWORD PTR SS:[EBP+8]
004A0EEC MOV EAX, DWORD PTR DS:[EDX]
004A0EEE PUSH EAX
004A0EEF CALL DWORD PTR DS:[40102C]
004A0EF5 MOV ECX, EAX
004A0EF7 CALL DWORD PTR DS:[4010E4]
004A0EFD MOV DWORD PTR SS:[EBP-B8], EAX
004A0F03 MOV EAX, 1
004A0F08 MOV DWORD PTR SS:[EBP-20], EAX
004A0F0B MOV EDI, DWORD PTR DS:[401024]
004A0F11 CMP AX, WORD PTR SS:[EBP-B8]
004A0F18 JG 004A117D
004A0F1E MOV DWORD PTR SS:[EBP-50], 1
004A0F25 MOV DWORD PTR SS:[EBP-58], 2
004A0F2C MOV ECX, DWORD PTR SS:[EBP+8]
004A0F2F MOV DWORD PTR SS:[EBP-90], ECX
004A0F35 MOV DWORD PTR SS:[EBP-98], 4008
004A0F3F MOVSX EBX, AX
004A0F42 LEA EDX, DWORD PTR SS:[EBP-58]
004A0F45 PUSH EDX
004A0F46 PUSH EBX
004A0F47 LEA EAX, DWORD PTR SS:[EBP-98]
004A0F4D PUSH EAX
004A0F4E LEA ECX, DWORD PTR SS:[EBP-68]
004A0F51 PUSH ECX
004A0F52 CALL DWORD PTR DS:[4010BC]
004A0F58 LEA EDX, DWORD PTR SS:[EBP-68]
004A0F5B PUSH EDX
004A0F5C CALL EDI
004A0F5E MOV EDX, EAX
004A0F60 LEA ECX, DWORD PTR SS:[EBP-2C]
004A0F63 CALL ESI
004A0F65 LEA EAX, DWORD PTR SS:[EBP-68]
004A0F68 PUSH EAX
004A0F69 LEA ECX, DWORD PTR SS:[EBP-58]
004A0F6C PUSH ECX
004A0F6D PUSH 2
004A0F6F CALL DWORD PTR DS:[401034]
004A0F75 ADD ESP, 0C
004A0F78 MOV EDX, DWORD PTR SS:[EBP+8]
004A0F7B MOV EAX, DWORD PTR DS:[EDX]
004A0F7D PUSH EAX
004A0F7E CALL DWORD PTR DS:[40102C]
004A0F84 XOR EDX, EDX
004A0F86 CMP EBX, EAX
004A0F88 SETNE DL
004A0F8B MOV ECX, DWORD PTR SS:[EBP-2C]
004A0F8E PUSH ECX
004A0F8F PUSH 462CA8
004A0F94 MOV DWORD PTR SS:[EBP-CC], EDX
004A0F9A CALL DWORD PTR DS:[4010DC]
004A0FA0 NEG EAX
004A0FA2 SBB EAX, EAX
004A0FA4 NEG EAX
004A0FA6 MOV EDX, DWORD PTR SS:[EBP-CC]
004A0FAC TEST EAX, EDX
004A0FAE JNZ 004A1151
<--这个循环判断试验码的长度和中间有没有连接号"-",第九次不跳,说明注册码长度的第一组是八位
即试验码>8位就不跳,进入计算的地方
004A0FB4 MOV EAX, DWORD PTR SS:[EBP+8]
004A0FB7 MOV ECX, DWORD PTR DS:[EAX]
004A0FB9 PUSH ECX
004A0FBA CALL DWORD PTR DS:[40102C]
004A0FC0 MOVSX ECX, WORD PTR SS:[EBP-20]
004A0FC4 CMP ECX, EAX
004A0FC6 JNZ SHORT 004A0FDD
004A0FC8 MOV EDX, DWORD PTR SS:[EBP-38]
004A0FCB PUSH EDX
004A0FCC MOV EAX, DWORD PTR SS:[EBP-2C]
004A0FCF PUSH EAX
004A0FD0 CALL DWORD PTR DS:[401050]
004A0FD6 MOV EDX, EAX
004A0FD8 LEA ECX, DWORD PTR SS:[EBP-38]
004A0FDB CALL ESI
004A0FDD MOV CX, WORD PTR SS:[EBP-24]
004A0FE1 ADD CX, 1
004A0FE5 JO 004A1249
004A0FEB MOV DWORD PTR SS:[EBP-24], ECX
004A0FEE LEA EDX, DWORD PTR SS:[EBP-38]
004A0FF1 MOV DWORD PTR SS:[EBP-90], EDX
004A0FF7 MOV DWORD PTR SS:[EBP-98], 4008
004A1001 LEA EAX, DWORD PTR SS:[EBP-98]
004A1007 PUSH EAX
004A1008 LEA ECX, DWORD PTR SS:[EBP-58]
004A100B PUSH ECX
004A100C CALL DWORD PTR DS:[4010A4]
004A1012 LEA EDX, DWORD PTR SS:[EBP-58]
004A1015 PUSH EDX
004A1016 CALL EDI
004A1018 MOV EDX, EAX
004A101A LEA ECX, DWORD PTR SS:[EBP-38]
004A101D CALL ESI
004A101F LEA ECX, DWORD PTR SS:[EBP-58]
004A1022 CALL DWORD PTR DS:[401020]
004A1028 MOV EAX, DWORD PTR SS:[EBP-38]
004A102B PUSH EAX
004A102C CALL DWORD PTR DS:[401208]
004A1032 CALL DWORD PTR DS:[4011C8]
004A1038 MOV EBX, EAX
004A103A MOV DWORD PTR SS:[EBP-50], 4
004A1041 MOV DWORD PTR SS:[EBP-58], 2
004A1048 MOV ECX, DWORD PTR SS:[EBP+C]
004A104B MOV DWORD PTR SS:[EBP-90], ECX
004A1051 MOV DWORD PTR SS:[EBP-98], 4008
; 以上计算字符串"zcgrike640315"各位ASCII码值的10进制值"1229910311410510710154524851"
004A105B LEA EDX, DWORD PTR SS:[EBP-58]
004A105E PUSH EDX
004A105F MOV AX, WORD PTR SS:[EBP-24]
004A1063 SUB AX, 1
004A1067 JO 004A1249
004A106D IMUL AX, AX, 4
004A1071 JO 004A1249
004A1077 ADD AX, 1
004A107B JO 004A1249
004A1081 MOVSX ECX, AX
004A1084 PUSH ECX
004A1085 LEA EDX, DWORD PTR SS:[EBP-98]
004A108B PUSH EDX
004A108C LEA EAX, DWORD PTR SS:[EBP-68]
004A108F PUSH EAX
004A1090 CALL DWORD PTR DS:[4010BC]
; <--取前4位”1229“
004A1096 LEA ECX, DWORD PTR SS:[EBP-68]
004A1099 PUSH ECX
004A109A CALL EDI
004A109C MOV EDX, EAX
; EDX<--00165E5C,”1229“
004A109E LEA ECX, DWORD PTR SS:[EBP-34]
004A10A1 CALL ESI
004A10A3 LEA EDX, DWORD PTR SS:[EBP-68]
004A10A6 PUSH EDX
004A10A7 LEA EAX, DWORD PTR SS:[EBP-58]
004A10AA PUSH EAX
004A10AB PUSH 2
004A10AD CALL DWORD PTR DS:[401034]
004A10B3 ADD ESP, 0C
004A10B6 MOV ECX, DWORD PTR SS:[EBP-34]
; ECX<--00165E5C,”1229“
004A10B9 PUSH ECX
004A10BA CALL DWORD PTR DS:[401208]
; 计算“1229”的16进制=4CD
-----把1229转变成16进制4CD----
|
779C33DD LEA ECX, DWORD PTR DS:[EBX+EBX*4]
779C33E0 XOR EBX, EBX
779C33E2 MOV BL, BYTE PTR DS:[EAX] ; BL=01
779C33E4 INC EAX
779C33E5 DEC ESI
779C33E6 LEA EBX, DWORD PTR DS:[EBX+ECX*2]
779C33E9 MOV ECX, DWORD PTR SS:[EBP-20]
779C33EC DEC ECX
779C33ED MOV DWORD PTR SS:[EBP-20], ECX
779C33F0 JNZ SHORT 779C33DD
; <--把1229转变成16进制4CD
====>F8
----------------------------------
|
004A10C0 CALL DWORD PTR DS:[4011C8]
; <--把值4CD==>DS:[0012E95C] ==>DS:[0012E960]
004A10C6 MOV EDX, DWORD PTR SS:[EBP-44]
004A10C9 MOV DWORD PTR SS:[EBP-A0], EDX
004A10CF MOV DWORD PTR SS:[EBP-A8], 8
004A10D9 XOR EAX, EBX
<--关键计算"把试验码的16进制值 XOR "4CD"
004A10DB MOV DWORD PTR SS:[EBP-50], EAX
; EAX=2F0E2036<--中间值
004A10DE MOV DWORD PTR SS:[EBP-58], 3
004A10E5 LEA EAX, DWORD PTR SS:[EBP-58]
004A10E8 PUSH EAX
004A10E9 LEA ECX, DWORD PTR SS:[EBP-68]
004A10EC PUSH ECX
004A10ED CALL DWORD PTR DS:[4011B8]
; EAX=2F0E2036变成10进制”789454902“,还原成10进制值
===>F8
----16进制转变成10进制----
|
779A23FF MOV ESI, DWORD PTR SS:[ESP+10]
779A2403 MOV EBX, ECX
779A2405 MOV EAX, ESI
779A2407 XOR EDX, EDX
779A2409 MOV EDI, 0A
779A240E ADD ECX, 2
779A2411 DIV EDI
779A2413 MOV EAX, CCCCCCCD
779A2418 MOV EDI, EDX
779A241A MUL ESI
779A241C SHR EDX, 3
779A241F ADD EDI, 30
779A2422 MOV ESI, EDX
779A2424 MOV WORD PTR DS:[ECX-2], DI
779A2428 TEST ESI, ESI
779A242A JA SHORT 779A2405
779A242C MOV WORD PTR DS:[ECX], 0
779A2431 SUB ECX, 2
779A2434 MOV DX, WORD PTR DS:[EBX]
779A2437 MOV AX, WORD PTR DS:[ECX]
779A243A MOV WORD PTR DS:[ECX], DX
779A243D MOV WORD PTR DS:[EBX], AX
779A2440 SUB ECX, 2
779A2443 ADD EBX, 2
779A2446 CMP EBX, ECX
779A2448 JB SHORT 779A2434
779A244A POP EDI
; EAX=2F0E2036变成10进制”789454902“
-----------------------
|
004A10F3 LEA EDX, DWORD PTR SS:[EBP-68]
004A10F6 PUSH EDX
004A10F7 LEA EAX, DWORD PTR SS:[EBP-78]
004A10FA PUSH EAX
004A10FB CALL DWORD PTR DS:[4010A4]
004A1101 LEA ECX, DWORD PTR SS:[EBP-A8]
004A1107 PUSH ECX
004A1108 LEA EDX, DWORD PTR SS:[EBP-78]
004A110B PUSH EDX
004A110C LEA EAX, DWORD PTR SS:[EBP-88]
004A1112 PUSH EAX
004A1113 CALL DWORD PTR DS:[4011AC]
004A1119 PUSH EAX
004A111A CALL EDI
004A111C MOV EDX, EAX
; EAX=”789454902“
004A111E LEA ECX, DWORD PTR SS:[EBP-44]
004A1121 CALL ESI
004A1123 LEA ECX, DWORD PTR SS:[EBP-88]
004A1129 PUSH ECX
004A112A LEA EDX, DWORD PTR SS:[EBP-78]
004A112D PUSH EDX
004A112E LEA EAX, DWORD PTR SS:[EBP-68]
004A1131 PUSH EAX
004A1132 LEA ECX, DWORD PTR SS:[EBP-58]
004A1135 PUSH ECX
004A1136 PUSH 4
004A1138 CALL DWORD PTR DS:[401034]
004A113E ADD ESP, 14
004A1141 MOV EDX, 461630
004A1146 LEA ECX, DWORD PTR SS:[EBP-38]
004A1149 CALL DWORD PTR DS:[401184]
004A114F JMP SHORT 004A1166
004A1151 MOV EDX, DWORD PTR SS:[EBP-38]
004A1154 PUSH EDX
004A1155 MOV EAX, DWORD PTR SS:[EBP-2C]
004A1158 PUSH EAX
004A1159 CALL DWORD PTR DS:[401050]
004A115F MOV EDX, EAX
004A1161 LEA ECX, DWORD PTR SS:[EBP-38]
004A1164 CALL ESI
004A1166 MOV EAX, 1
004A116B ADD AX, WORD PTR SS:[EBP-20]
004A116F JO 004A1249
004A1175 MOV DWORD PTR SS:[EBP-20], EAX
004A1178 JMP 004A0F11
004A117D LEA ECX, DWORD PTR SS:[EBP-44]
004A1180 MOV DWORD PTR SS:[EBP-90], ECX
004A1186 >MOV DWORD PTR SS:[EBP-98], 4008
004A1190 LEA EDX, DWORD PTR SS:[EBP-98]
004A1196 PUSH EDX
004A1197 LEA EAX, DWORD PTR SS:[EBP-58]
004A119A PUSH EAX
004A119B CALL DWORD PTR DS:[4010A4]
004A11A1 LEA ECX, DWORD PTR SS:[EBP-58]
004A11A4 PUSH ECX
004A11A5 CALL EDI
004A11A7 MOV EDX, EAX
; EAX=”789454902“
004A11A9 LEA ECX, DWORD PTR SS:[EBP-44]
004A11AC CALL ESI
004A11AE LEA ECX, DWORD PTR SS:[EBP-58]
004A11B1 CALL DWORD PTR DS:[401020]
004A11B7 LEA EDX, DWORD PTR SS:[EBP-44]
004A11BA PUSH EDX
004A11BB CALL 004A0A10
004A11C0 MOV EDX, EAX
004A11C2 LEA ECX, DWORD PTR SS:[EBP-44]
004A11C5 CALL ESI
004A11C7 MOV EDX, DWORD PTR SS:[EBP-44]
004A11CA LEA ECX, DWORD PTR SS:[EBP-40]
004A11CD CALL DWORD PTR DS:[401184]
004A11D3 CALL DWORD PTR DS:[401074]
<--以上把”789454902“二个一组,然后把每组的值变成16进制值连接后成为(4E 5E 36 5A)
004A11D9 WAIT
004A11DA PUSH 4A1233
004A11DF JMP SHORT 004A1218
004A11E1 TEST BYTE PTR SS:[EBP-C], 4
004A11E5 JE SHORT 004A11F0
004A11E7 LEA ECX, DWORD PTR SS:[EBP-40]
004A11EA CALL DWORD PTR DS:[401204]
004A11F0 LEA ECX, DWORD PTR SS:[EBP-48]
004A11F3 CALL DWORD PTR DS:[401200]
004A11F9 LEA EAX, DWORD PTR SS:[EBP-88]
004A11FF PUSH EAX
004A1200 LEA ECX, DWORD PTR SS:[EBP-78]
004A1203 PUSH ECX
004A1204 LEA EDX, DWORD PTR SS:[EBP-68]
004A1207 PUSH EDX
004A1208 LEA EAX, DWORD PTR SS:[EBP-58]
004A120B PUSH EAX
004A120C PUSH 4
004A120E CALL DWORD PTR DS:[401034]
004A1214 ADD ESP, 14
004A1217 RETN
--------------------------------
|
004AA611 MOV EDX, EAX
; EAX<--00149164,(4E 5E 36 5A 00)
004AA613 LEA ECX, DWORD PTR SS:[EBP-18]
004AA616 CALL EBX
004AA618 LEA ECX, DWORD PTR SS:[EBP-2C]
004AA61B CALL DWORD PTR DS:[401204]
004AA621 MOV ECX, DWORD PTR SS:[EBP-18]
; ECX<--00149164,(4E 5E 36 5A)<--通过计算得到的值
004AA624 MOV EDX, DWORD PTR SS:[EBP-24]
; EDX<--0015CCB4,(UNICODE "59622746") <--用户码
004AA627 PUSH ECX
004AA628 PUSH EDX
004AA629 CALL DWORD PTR DS:[4010DC] <-- 注册码正确性比较,即上面的二个参数相同
===>F8
------注册码正确性比较,即上面的二个参数相同-----
|
77A14331 MOV EDI, DWORD PTR SS:[EBP+C] ; EDI=0013D9DC <--37
77A14334 MOV ESI, DWORD PTR SS:[EBP+8] ; ESI=0013DB14 <--31
77A14337 MOV ECX, DWORD PTR SS:[EBP+10]
77A1433A XOR EAX, EAX
77A1433C REPE CMPS WORD PTR ES:[EDI], WORD>; <--这里进行比较
77A1433F JE SHORT 77A14346 ; OLEAUT32.77A14346
77A14341 SBB EAX, EAX
77A14343 SBB EAX, -1 <--赋失败标志
77A14346 TEST EAX, EAX
77A14348 JG SHORT 77A1437D ; OLEAUT32.77A1437D
77A1434A JGE SHORT 77A14350 ; OLEAUT32.77A14350
77A1434C XOR EAX, EAX <--赋成功标志
77A1434E JMP SHORT 77A143AB ; OLEAUT32.77A143AB
-------------------------------
|
004AA62F TEST EAX, EAX
004AA631 JNZ 004AA7DC ; 关键的跳转
========================================================================
到这里算法跟踪完成,总结一下。
注册码由二组组成,依据 004A0FAE JNZ 004A1151 这个跳转>8 <11时进入下面的计算核心。
不然就出错,注册码每组的长度是八位或者是10位,中间用“-”连接。
注册码的计算方法:
1.用试验码的16进制值 XOR 4CD(字符串计算出来的常数)
2.把上面得到的值变换成10进制
3.把上面的10进制值每二个一组,然后把每组的值转变成16进制,就是用户码
由于算法比较简单,就是16进制和10进制的转换和 XOR 操作,所以可逆还是比较简单的。
1.把用户码的每位的hex值转变成10进制值
2.把转换的字符串分成二部分
3.把第一部分的值转变成16进制 XOR 4CD(1229D) ,然后再转变成10进制就是注册码的第一部分
4.把第二部分的值转变成16进制 XOR 238F(9103D) ,然后再转变成10进制就是注册码的第二部分
5.用连接号‘-’连接后就是注册码
==================================================================
注册机源码:
---VB6.0编译通过----
Dim j As Integer
Dim k As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Dim f As Integer
Dim g As Integer
Dim i As Integer
Dim h As Integer
Dim l As Integer
Dim edx As String
Dim ebx As Long
Dim eax As Long
Dim ecx As String
Dim startin As String '以上定义变量及变量类型
startin = Text2.Text '变量startin接收输入的数据
nlen = Len(startin) '取输入数据的长度
If nlen < 8 Then '如果小于八位就不正确
h = MsgBox("你还没有输入用户码,或者长度没有八位,请核对后重新输入")
GoTo tc '结束
Else:
End If
c = AscB(Mid(startin, 1))
d = AscB(Mid(startin, 2))
e = AscB(Mid(startin, 3))
f = AscB(Mid(startin, 4))
g = AscB(Mid(startin, 5))
h = AscB(Mid(startin, 6))
i = AscB(Mid(startin, 7))
j = AscB(Mid(startin, 8)) '用asc函数取每位的ascii码的10进制值
eax = c * CLng(1000000) + d * CLng(10000) + e * CLng(100) + f '按位连接前四位
ebx = g * CLng(1000000) + h * CLng(10000) + i * CLng(100) + j '按位连接后四位
ecx = eax Xor 1229 'VB不要转换,直接用。
edx = ebx Xor 9103 'VB不要转换,直接用。
Text1.Text = ecx + "-" + edx '连接成注册码
tc: End Sub
有个问题请教,谢谢:
1.如果用户码是10,eax的值超出long类型,就无法计算。所以这里只能计算用户码是
八位的注册码。
2.C怎么实现。
by fxyang[OCN][BCG]
2003.4.27
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>