|
发表于 2009-5-27 03:12:10
|
显示全部楼层
本帖最后由 雪风 于 2009-5-27 03:23 编辑
闲来无事我来替明哥入门说下破解方法吧!
OD载入程序,F9运行起来,然后随便填入账号密码,点登陆!
当出现“用户不存在”的错误提示! F12暂停程序! 然后ALT+K打开调用堆栈窗口!
找到
调用堆栈: 主线程, 条目 19
地址=0012FA44
堆栈=0042C0C3
函数过程 / 参数=? grx.00523C30
调用来自=grx.0042C0BE
右键选择显示调用 向上翻 就来到下面的位置了!
剩下该怎么做大家看 Cracklog就清楚了!
一般只有万不得已的情况下选择爆破手段!
但遵循一个原则就是 能改一个字节 坚决不多写一个!
因为 改动多了程序稳定性就差了!
0042BF9B . 55 PUSH EBP
0042BF9C . 68 088D5600 PUSH grx.00568D08
0042BFA1 . 68 A4C95600 PUSH grx.0056C9A4
0042BFA6 . 8BCF MOV ECX,EDI
0042BFA8 . 892D 40826B00 MOV DWORD PTR DS:[6B8240],EBP
0042BFAE . E8 7D7C0F00 CALL grx.00523C30
0042BFB3 . 8B15 68826B00 MOV EDX,DWORD PTR DS:[6B8268] ; grx.0056C9C8
0042BFB9 . B9 68826B00 MOV ECX,grx.006B8268
0042BFBE . C605 B0826B00>MOV BYTE PTR DS:[6B82B0],0
0042BFC5 . C605 B1826B00>MOV BYTE PTR DS:[6B82B1],0
0042BFCC . FF52 10 CALL DWORD PTR DS:[EDX+10]
0042BFCF . 68 98C95600 PUSH grx.0056C998
0042BFD4 . 68 77010000 PUSH 177
0042BFD9 . 8BCF MOV ECX,EDI
0042BFDB . E8 2DAE0F00 CALL grx.00526E0D
0042BFE0 . E9 4F050000 JMP grx.0042C534
0042BFE5 > A0 B1826B00 MOV AL,BYTE PTR DS:[6B82B1] ; Case 1 of switch 0042BF39
0042BFEA 84C0 TEST AL,AL ; TEST AL,AL 改为 OR AL,1 也可以!
0042BFEC 0F85 25010000 JNZ grx.0042C117 ; 关键跳转,JNZ改JMP 即可!
0042BFF2 . 68 8CC95600 PUSH grx.0056C98C ; 以上两处改哪个都可以,但推荐讲TEST AL,AL 改为OR AL,1修改的字节少程序稳定性高
0042C16C . 3968 F4 CMP DWORD PTR DS:[EAX-C],EBP
0042C16F . C74424 28 040>MOV DWORD PTR SS:[ESP+28],4
0042C177 74 53 JE SHORT grx.0042C1CC ; 这一处JE改为JMP最好,因为不改就会向明哥入门破解的一样,
0042C179 . 68 30C95600 PUSH grx.0056C930 ; 不输入用户名和密码点登陆登陆后先提示用户不存在然后才进入。当然不改也可以!
0042C17E . 50 PUSH EAX
0042C17F . E8 A26D0D00 CALL grx.00502F26 |
|