某VB6 程序的破解思路

1,PEID探测无壳,VB6编写

2,文件目录下有被加密的ACCESS数据库,字符串查找发现数据库密码


数据库密码:
超级字串参考, 项目 281 地址=0049EA53 反汇编=mov     edx, 0041CBEC 文本字串=PROVIDER=MSDASQL;dsn=Xreport;uid=;pwd=tangjin;

 

3,伪注册判断部分:
09579399    83F8 04         CMP EAX,4                                ; 用户名长度必须4位以上

0957948E    52              PUSH EDX                                 ; 送入假码
0957948F    68 742D5709     PUSH tjone.09572D74                      ; 空白字符串
09579494    FF15 B4105709   CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCm>            ; __vbaStrCmp(假码,"")
0957949A    8BF8            MOV EDI,EAX
0957949C    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
0957949F    F7DF            NEG EDI
095794A1    1BFF            SBB EDI,EDI
095794A3    50              PUSH EAX                                 ; 用户名
095794A4    47              INC EDI
095794A5    68 742D5709     PUSH tjone.09572D74
095794AA    F7DF            NEG EDI
095794AC    FF15 B4105709   CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCm>           ; __vbaStrCmp(用户名,"")

 

 

4,爆破点:

00487E9D      B8 03000000                MOV EAX,3                                         ;  强制修改
00487EA2      C705 58905600 3A000000     MOV DWORD PTR DS:[569058],3A
00487EAC      E9 E6010000                JMP 00488097

 

 


二进制修改:
A1 34 90 56 00 83 F8 01 0F 85 99 00 00 00 8B 16 56 FF 92 A4 ==>
B8 03 00 00 00 C7 05 58 90 56 00 3A 00 00 00 E9 E6 01 00 00

 

5,程序为国软,出于保护,不公布名字与补丁。

 

 

你可能感兴趣的:(数据库,加密,汇编,Access,vb,破解)