首页 电脑 电脑学堂 查看内容

ACCESS密码查看器算法分析[简单]

2005-3-16 12:59 828 0

摘要: 【破解作者】 Genius【作者邮箱】 [email protected]【作者主页】 http://easysun.3322.net/【使用工具】 OD【破解平台】 Win9x/N...
关键词: nbsp accesspa MOV LOCAL CALL EDX EAX 004885 004888 LEA

【破解作者】 Genius【作者邮箱】 [email protected]【作者主页】 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    EAX004885A5   .  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, EBX004885BB   .  E8 F0010000   CALL    accesspa.004887B0                ;关键call(进入PARTA)004885C0   .  8B55 F4       MOV     EDX, DWORD PTR SS:[EBP-C]004885C3   .  58            POP     EAX004885C4   .  E8 57C3F7FF   CALL    accesspa.00404920                ;比较call004885C9   .  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.00459930004885DB   .  8BF0          MOV     ESI, EAX004885DD   .  BA 02000080   MOV     EDX, 80000002004885E2   .  8BC6          MOV     EAX, ESI004885E4   .  E8 E713FDFF   CALL    accesspa.004599D0004885E9   .  B1 01         MOV     CL, 1004885EB   .  BA 44874800   MOV     EDX, accesspa.00488744           ;  ASCII \"SOFTWARE\\Microsoft\\ap\"004885F0   .  8BC6          MOV     EAX, ESI004885F2   .  E8 1915FDFF   CALL    accesspa.00459B10004885F7   .  B9 01000000   MOV     ECX, 1004885FC   .  BA 64874800   MOV     EDX, accesspa.00488764           ;  ASCII \"apreg\"00488601   .  8BC6          MOV     EAX, ESI00488603   .  E8 A816FDFF   CALL    accesspa.00459CB000488608   .  8D55 EC       LEA     EDX, DWORD PTR SS:[EBP-14]0048860B   .  8B83 00030000 MOV     EAX, DWORD PTR DS:[EBX+300]00488611   .  E8 96DAFAFF   CALL    accesspa.004360AC00488616   .  8B4D EC       MOV     ECX, DWORD PTR SS:[EBP-14]00488619   .  BA 74874800   MOV     EDX, accesspa.00488774           ;  ASCII \"sn\"0048861E   .  8BC6          MOV     EAX, ESI00488620   .  E8 5F16FDFF   CALL    accesspa.00459C8400488625   .  8D55 E8       LEA     EDX, DWORD PTR SS:[EBP-18]00488628   .  8B83 F8020000 MOV     EAX, DWORD PTR DS:[EBX+2F8]0048862E   .  E8 79DAFAFF   CALL    accesspa.004360AC00488633   .  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=10048880C  |>  8D45 EC       /LEA     EAX, [LOCAL.5]0048880F  |.  8B55 F8       |MOV     EDX, [LOCAL.2]00488812  |.  8A541A FF     |MOV     DL, BYTE PTR DS:[EDX+EBX-1]     ;  取出机器码的每一位送给dl00488816  |.  E8 D9BEF7FF   |CALL    accesspa.004046F40048881B  |.  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.004889940048882E  |.  E8 EDC0F7FF   |CALL    accesspa.00404920               ; 检查是否是100488833  |.  75 12         |JNZ     SHORT accesspa.0048884700488835  |.  8D45 F4       |LEA     EAX, [LOCAL.3]00488838  |.  BA A0894800   |MOV     EDX, accesspa.004889A00048883D  |.  E8 A2BFF7FF   |CALL    accesspa.004047E4               ;  如果是1就变成L00488842  |.  E9 07010000   |JMP     accesspa.0048894E00488847  |>  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.004046F400488856  |.  8B45 E4       |MOV     EAX, [LOCAL.7]00488859  |.  8D55 E8       |LEA     EDX, [LOCAL.6]0048885C  |.  E8 2FFFF7FF   |CALL    accesspa.0040879000488861  |.  8B45 E8       |MOV     EAX, [LOCAL.6]00488864  |.  BA AC894800   |MOV     EDX, accesspa.004889AC00488869  |.  E8 B2C0F7FF   |CALL    accesspa.00404920               ;  检查是否是30048886E  |.  75 12         |JNZ     SHORT accesspa.0048888200488870  |.  8D45 F4       |LEA     EAX, [LOCAL.3]00488873  |.  BA B8894800   |MOV     EDX, accesspa.004889B800488878  |.  E8 67BFF7FF   |CALL    accesspa.004047E40048887D  |.  E9 CC000000   |JMP     accesspa.0048894E              ;如果是3就变成O00488882  |>  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.004046F400488891  |.  8B45 DC       |MOV     EAX, [LOCAL.9]00488894  |.  8D55 E0       |LEA     EDX, [LOCAL.8]00488897  |.  E8 F4FEF7FF   |CALL    accesspa.004087900048889C  |.  8B45 E0       |MOV     EAX, [LOCAL.8]0048889F  |.  BA C4894800   |MOV     EDX, accesspa.004889C4004888A4  |.  E8 77C0F7FF   |CALL    accesspa.00404920               ;  检查是否是5004888A9  |.  75 12         |JNZ     SHORT accesspa.004888BD004888AB  |.  8D45 F4       |LEA     EAX, [LOCAL.3]004888AE  |.  BA D0894800   |MOV     EDX, accesspa.004889D0004888B3  |.  E8 2CBFF7FF   |CALL    accesspa.004047E4004888B8  |.  E9 91000000   |JMP     accesspa.0048894E               ;如果是5就变成V004888BD  |>  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.004046F4004888CC  |.  8B45 D4       |MOV     EAX, [LOCAL.11]004888CF  |.  8D55 D8       |LEA     EDX, [LOCAL.10]004888D2  |.  E8 B9FEF7FF   |CALL    accesspa.00408790004888D7  |.  8B45 D8       |MOV     EAX, [LOCAL.10]004888DA  |.  BA DC894800   |MOV     EDX, accesspa.004889DC004888DF  |.  E8 3CC0F7FF   |CALL    accesspa.00404920               ;  检查是否是7004888E4  |.  75 0F         |JNZ     SHORT accesspa.004888F5004888E6  |.  8D45 F4       |LEA     EAX, [LOCAL.3]004888E9  |.  BA E8894800   |MOV     EDX, accesspa.004889E8004888EE  |.  E8 F1BEF7FF   |CALL    accesspa.004047E4004888F3  |.  EB 59         |JMP     SHORT accesspa.0048894E         ;如果是7就变成E004888F5  |>  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.004046F400488904  |.  8B45 CC       |MOV     EAX, [LOCAL.13]00488907  |.  8D55 D0       |LEA     EDX, [LOCAL.12]0048890A  |.  E8 81FEF7FF   |CALL    accesspa.004087900048890F  |.  8B45 D0       |MOV     EAX, [LOCAL.12]00488912  |.  BA F4894800   |MOV     EDX, accesspa.004889F400488917  |.  E8 04C0F7FF   |CALL    accesspa.00404920               ;  检查是否是90048891C  |.  75 0F         |JNZ     SHORT accesspa.0048892D0048891E  |.  8D45 F4       |LEA     EAX, [LOCAL.3]00488921  |.  BA 008A4800   |MOV     EDX, accesspa.00488A0000488926  |.  E8 B9BEF7FF   |CALL    accesspa.004047E4                ;如果是9就变成U0048892B  |.  EB 21         |JMP     SHORT accesspa.0048894E0048892D  |>  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.004047E40048894E  |>  43            |INC     EBX0048894F  |.  4E            |DEC     ESI00488950  |.^ 0F85 B6FEFFFF \\JNZ     accesspa.0048880C00488956  |>  8BC7          MOV     EAX, EDI00488958  |.  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.TextK = Array(0, &H4C, 0, &H4F, 0, &H56, 0, &H45, 0, &H55)a = Text1.TextFor 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 IfNext iText2.Text = bEnd Sub--------------------------------------------------------------------------------  
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部