|
【破解作者】 Genius 【作者邮箱】 trains1982@163.com 【作者主页】 http://easysun.3322.net/ 【使用工具】 OD 【破解平台】 Win9x/NT/2000/XP 【软件名称】 ACCESS密码查看器 【软件简介】 “ACCESS密码查看器”的说明 本软件可以查看ACCESS97、ACCESS2000、ACCESS XP数据库的密码。 1.可以查看20位的ACCESS2000,ACCESS XP密码。 2.目前此版本已支持中文密码。 【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:) -------------------------------------------------------------------------------- 【破解内容】
00488593 > 8D55 F8 LEA EDX, DWORD PTR SS:[EBP-8] 00488596 . 8B83 00030000 MOV EAX, DWORD PTR DS:[EBX+300] 0048859C . E8 0BDBFAFF CALL accesspa.004360AC ; 取出测试号 004885A1 . 8B45 F8 MOV EAX, DWORD PTR SS:[EBP-8] 004885A4 . 50 PUSH EAX 004885A5 . 8D55 F0 LEA EDX, DWORD PTR SS:[EBP-10] 004885A8 . 8B83 F8020000 MOV EAX, DWORD PTR DS:[EBX+2F8] 004885AE . E8 F9DAFAFF CALL accesspa.004360AC ; 取出机器号 004885B3 . 8B55 F0 MOV EDX, DWORD PTR SS:[EBP-10] 004885B6 . 8D4D F4 LEA ECX, DWORD PTR SS:[EBP-C] 004885B9 . 8BC3 MOV EAX, EBX 004885BB . E8 F0010000 CALL accesspa.004887B0 ;关键call(进入PARTA) 004885C0 . 8B55 F4 MOV EDX, DWORD PTR SS:[EBP-C] 004885C3 . 58 POP EAX 004885C4 . E8 57C3F7FF CALL accesspa.00404920 ;比较call 004885C9 . 0F85 F2000000 JNZ accesspa.004886C1 =======>相等注册成功 004885CF . B2 01 MOV DL, 1 ===================写入注册表================================================================== 004885D1 . A1 30984500 MOV EAX, DWORD PTR DS:[459830] 004885D6 . E8 5513FDFF CALL accesspa.00459930 004885DB . 8BF0 MOV ESI, EAX 004885DD . BA 02000080 MOV EDX, 80000002 004885E2 . 8BC6 MOV EAX, ESI 004885E4 . E8 E713FDFF CALL accesspa.004599D0 004885E9 . B1 01 MOV CL, 1 004885EB . BA 44874800 MOV EDX, accesspa.00488744 ; ASCII \"SOFTWARE\\Microsoft\\ap\" 004885F0 . 8BC6 MOV EAX, ESI 004885F2 . E8 1915FDFF CALL accesspa.00459B10 004885F7 . B9 01000000 MOV ECX, 1 004885FC . BA 64874800 MOV EDX, accesspa.00488764 ; ASCII \"apreg\" 00488601 . 8BC6 MOV EAX, ESI 00488603 . E8 A816FDFF CALL accesspa.00459CB0 00488608 . 8D55 EC LEA EDX, DWORD PTR SS:[EBP-14] 0048860B . 8B83 00030000 MOV EAX, DWORD PTR DS:[EBX+300] 00488611 . E8 96DAFAFF CALL accesspa.004360AC 00488616 . 8B4D EC MOV ECX, DWORD PTR SS:[EBP-14] 00488619 . BA 74874800 MOV EDX, accesspa.00488774 ; ASCII \"sn\" 0048861E . 8BC6 MOV EAX, ESI 00488620 . E8 5F16FDFF CALL accesspa.00459C84 00488625 . 8D55 E8 LEA EDX, DWORD PTR SS:[EBP-18] 00488628 . 8B83 F8020000 MOV EAX, DWORD PTR DS:[EBX+2F8] 0048862E . E8 79DAFAFF CALL accesspa.004360AC 00488633 . 8B4D E8 MOV ECX, DWORD PTR SS:[EBP-18] 00488636 . BA 80874800 MOV EDX, accesspa.00488780 ; ASCII \"cpuid\" 0048863B . 8BC6 MOV EAX, ESI ==================================================================================================
------------------------------------- 进入PARTA后 00488807 |. BB 01000000 MOV EBX, 1 ; ebx=1 0048880C |> 8D45 EC /LEA EAX, [LOCAL.5] 0048880F |. 8B55 F8 |MOV EDX, [LOCAL.2] 00488812 |. 8A541A FF |MOV DL, BYTE PTR DS:[EDX+EBX-1] ; 取出机器码的每一位送给dl 00488816 |. E8 D9BEF7FF |CALL accesspa.004046F4 0048881B |. 8B45 EC |MOV EAX, [LOCAL.5] 0048881E |. 8D55 F0 |LEA EDX, [LOCAL.4] 00488821 |. E8 6AFFF7FF |CALL accesspa.00408790 ; 检查是否是数字 00488826 |. 8B45 F0 |MOV EAX, [LOCAL.4] 00488829 |. BA 94894800 |MOV EDX, accesspa.00488994 0048882E |. E8 EDC0F7FF |CALL accesspa.00404920 ; 检查是否是1 00488833 |. 75 12 |JNZ SHORT accesspa.00488847 00488835 |. 8D45 F4 |LEA EAX, [LOCAL.3] 00488838 |. BA A0894800 |MOV EDX, accesspa.004889A0 0048883D |. E8 A2BFF7FF |CALL accesspa.004047E4 ; 如果是1就变成L 00488842 |. E9 07010000 |JMP accesspa.0048894E 00488847 |> 8D45 E4 |LEA EAX, [LOCAL.7] 0048884A |. 8B55 F8 |MOV EDX, [LOCAL.2] 0048884D |. 8A541A FF |MOV DL, BYTE PTR DS:[EDX+EBX-1] 00488851 |. E8 9EBEF7FF |CALL accesspa.004046F4 00488856 |. 8B45 E4 |MOV EAX, [LOCAL.7] 00488859 |. 8D55 E8 |LEA EDX, [LOCAL.6] 0048885C |. E8 2FFFF7FF |CALL accesspa.00408790 00488861 |. 8B45 E8 |MOV EAX, [LOCAL.6] 00488864 |. BA AC894800 |MOV EDX, accesspa.004889AC 00488869 |. E8 B2C0F7FF |CALL accesspa.00404920 ; 检查是否是3 0048886E |. 75 12 |JNZ SHORT accesspa.00488882 00488870 |. 8D45 F4 |LEA EAX, [LOCAL.3] 00488873 |. BA B8894800 |MOV EDX, accesspa.004889B8 00488878 |. E8 67BFF7FF |CALL accesspa.004047E4 0048887D |. E9 CC000000 |JMP accesspa.0048894E ;如果是3就变成O 00488882 |> 8D45 DC |LEA EAX, [LOCAL.9] 00488885 |. 8B55 F8 |MOV EDX, [LOCAL.2] 00488888 |. 8A541A FF |MOV DL, BYTE PTR DS:[EDX+EBX-1] 0048888C |. E8 63BEF7FF |CALL accesspa.004046F4 00488891 |. 8B45 DC |MOV EAX, [LOCAL.9] 00488894 |. 8D55 E0 |LEA EDX, [LOCAL.8] 00488897 |. E8 F4FEF7FF |CALL accesspa.00408790 0048889C |. 8B45 E0 |MOV EAX, [LOCAL.8] 0048889F |. BA C4894800 |MOV EDX, accesspa.004889C4 004888A4 |. E8 77C0F7FF |CALL accesspa.00404920 ; 检查是否是5 004888A9 |. 75 12 |JNZ SHORT accesspa.004888BD 004888AB |. 8D45 F4 |LEA EAX, [LOCAL.3] 004888AE |. BA D0894800 |MOV EDX, accesspa.004889D0 004888B3 |. E8 2CBFF7FF |CALL accesspa.004047E4 004888B8 |. E9 91000000 |JMP accesspa.0048894E ;如果是5就变成V 004888BD |> 8D45 D4 |LEA EAX, [LOCAL.11] 004888C0 |. 8B55 F8 |MOV EDX, [LOCAL.2] 004888C3 |. 8A541A FF |MOV DL, BYTE PTR DS:[EDX+EBX-1] 004888C7 |. E8 28BEF7FF |CALL accesspa.004046F4 004888CC |. 8B45 D4 |MOV EAX, [LOCAL.11] 004888CF |. 8D55 D8 |LEA EDX, [LOCAL.10] 004888D2 |. E8 B9FEF7FF |CALL accesspa.00408790 004888D7 |. 8B45 D8 |MOV EAX, [LOCAL.10] 004888DA |. BA DC894800 |MOV EDX, accesspa.004889DC 004888DF |. E8 3CC0F7FF |CALL accesspa.00404920 ; 检查是否是7 004888E4 |. 75 0F |JNZ SHORT accesspa.004888F5 004888E6 |. 8D45 F4 |LEA EAX, [LOCAL.3] 004888E9 |. BA E8894800 |MOV EDX, accesspa.004889E8 004888EE |. E8 F1BEF7FF |CALL accesspa.004047E4 004888F3 |. EB 59 |JMP SHORT accesspa.0048894E ;如果是7就变成E 004888F5 |> 8D45 CC |LEA EAX, [LOCAL.13] 004888F8 |. 8B55 F8 |MOV EDX, [LOCAL.2] 004888FB |. 8A541A FF |MOV DL, BYTE PTR DS:[EDX+EBX-1] 004888FF |. E8 F0BDF7FF |CALL accesspa.004046F4 00488904 |. 8B45 CC |MOV EAX, [LOCAL.13] 00488907 |. 8D55 D0 |LEA EDX, [LOCAL.12] 0048890A |. E8 81FEF7FF |CALL accesspa.00408790 0048890F |. 8B45 D0 |MOV EAX, [LOCAL.12] 00488912 |. BA F4894800 |MOV EDX, accesspa.004889F4 00488917 |. E8 04C0F7FF |CALL accesspa.00404920 ; 检查是否是9 0048891C |. 75 0F |JNZ SHORT accesspa.0048892D 0048891E |. 8D45 F4 |LEA EAX, [LOCAL.3] 00488921 |. BA 008A4800 |MOV EDX, accesspa.00488A00 00488926 |. E8 B9BEF7FF |CALL accesspa.004047E4 ;如果是9就变成U 0048892B |. EB 21 |JMP SHORT accesspa.0048894E 0048892D |> 8D45 C8 |LEA EAX, [LOCAL.14] 00488930 |. 8B55 F8 |MOV EDX, [LOCAL.2] 00488933 |. 0FB6541A FF |MOVZX EDX, BYTE PTR DS:[EDX+EBX-1] 00488938 |. 83C2 40 |ADD EDX, 40 注意******* 0048893B |. 83E2 7F |AND EDX, 7F 注意********* 0048893E |. E8 B1BDF7FF |CALL accesspa.004046F4 ; 把16位ascii码变成字符 00488943 |. 8B55 C8 |MOV EDX, [LOCAL.14] 00488946 |. 8D45 F4 |LEA EAX, [LOCAL.3] 00488949 |. E8 96BEF7FF |CALL accesspa.004047E4 0048894E |> 43 |INC EBX 0048894F |. 4E |DEC ESI 00488950 |.^ 0F85 B6FEFFFF \\JNZ accesspa.0048880C 00488956 |> 8BC7 MOV EAX, EDI 00488958 |. 8B55 F4 MOV EDX, [LOCAL.3] =============> 保存
-------------------------------------------------------------------------------- 【破解总结】
这部分的看起来,很长,它的意思很简单,就是 算法: 如果测试号的数字,是基数加0x40 AND 0X7F,最后变为字符串 如果测试号的数字,是偶数就变成1变成\'L\',3变成\'O\',5变成\'V\',\'7\'变成\'E\',\'9\'变成\'U\',连起来就是\'LOVEU\',作者就满有爱心的嘛,如果谁注册机,就喜欢谁:)
-------------------------------------------------------------------------------- 【算法注册机】
附VB注册机
Private Sub Command1_Click() strtmp = Text1.Text K = Array(0, &H4C, 0, &H4F, 0, &H56, 0, &H45, 0, &H55) a = Text1.Text For i = 1 To Len(a) If (Val(Mid(a, i, 1)) Mod 2) = 0 Then b = b & LCase(Chr((Asc(Mid(a, i, 1)) + &H40) And &H7F)) Else b = b & Chr(K(Val(Mid(a, i, 1)))) End If Next i Text2.Text = b End Sub --------------------------------------------------------------------------------
OVER
|