关于黑鹰破解提高篇的教程破解方法(你可以看教程后自己总结)!
文章出自:中国破解爱好者论坛http://www.chinadfcg.com:81/woyao/index.php
这种方法是用在60课以后的,适合短硬件号的
硬件id:8043B310
用户名:恨雨不潇
注册码:000014-3K0Q3G-4ZAUTW-T38UX0-XJ92QC-6MBG8N-QJ08F5-TGHH5T-TP8FFH-5V8BUC
这是正确的KEY
这是自己的机器码:549D-6A3A
第一步:OD载入
把双进程变成单进程
(1)bp OpenMutexA
(2)F9运行
(3)
在CPU窗口中 Ctrl+G:401000键入以下代码:
00401000 60 pushad
00401001 9C pushfd
00401002 68 F8FB1200 push 0012FDD8
00401007 33C0 xor eax,eax
00401009 50 push eax
0040100A 50 push eax
0040100B E8 B5A6A577 call kernel32.CreateMutexA
00401010 9D popfd
00401011 61 popad
00401012- E9 7A13A677 jmp kernel32.OpenMutexA
60 9C 68 D8 FD 12 00 33 C0 50 50 E8 4F D9 40 7C 9D 61 E9 24 DA 40 7C 90
代码和上面的效果是一样的~~
(3) 此时在00401000 上点击右键 选择此处为新的EIP
(4)F9运行
(5)再次Ctrl+G:401000 ,删除此处的代码
(6)F9运行来到刚才下断地方,F2取消断点
接着注册
he GetDlgItem 这个断点,F9运行
再按一次F9,出现注册点OK
此时删除硬件断点 ,F8单步走,走。。。。。
来到
0353467A 395D 14 CMP DWORD PTR SS:,EBX
0353467D 0F84 B7000000 JE 0353473A
03534683 53 PUSH EBX
03534684 B9 98FA5403 MOV ECX,354FA98
03534689 E8 253CFEFF CALL 035182B3
此Call跟进
035182B3 56 PUSH ESI
035182B4 8BF1 MOV ESI,ECX
035182B6 FF7424 08 PUSH DWORD PTR SS:
035182BA 8B8E 5C060000 MOV ECX,DWORD PTR DS:
035182C0 6A 00 PUSH 0
035182C2 E8 24D70000 CALL 035259EB
此Call继续跟进
来到
035259EB 8B4424 04 MOV EAX,DWORD PTR SS:
035259EF C1E0 06 SHL EAX,6
035259F2 034424 08 ADD EAX,DWORD PTR SS:
035259F6 8B4481 18 MOV EAX,DWORD PTR DS:
035259FA 35 8AC0E665 XOR EAX,65E6C08A
关键地方
复制XOR EAX,65E6C08A修改为 JMP 0040100 F8 跟进
补丁代码:
00401000 35 8AC0E665 XOR EAX,65E6C08A
00401005 3D 3A6A9D54 CMP EAX,(此处填写你的硬件号)
0040100A 75 05 JNZ 00401011
0040100C B8 10B34380 MOV EAX,8043B310
00401011 C2 0800 RETN 8
F8 一直走下去,将自己补定代码走完,回到程序原来的代码,F9运行 用上面的正确注册码注册,OK你可以观看了~~ 这是黑鹰基地发布的教程里面的啊! 收获不小,谢谢了/:001 楼主的是那种加了穿山甲的壳的,天草的高级班也是穿山甲的壳(peid报的)
楼上的我拿peid测不出壳,应该不是加壳的或者是用黑鹰自己的某个东东加了个注册校验
跟了下,没有找到,自己还太菜,希望有人能破了,呵呵,就是楼上的那种长机器码的 把双进程变成单进程
这一步怎么弄 ?? 双变单(使程序把自己当成子进程运行,即下面bp后面的函数的作用)
bp OpenMutexA
Ctrl+G:00401000
00401000 60 pushad
00401001 9C pushfd
00401002 68 A0FD1200 push 12FDA0 ; ASCII "44C::DA47D45903"
00401007 33C0 xor eax,eax
00401009 50 push eax
0040100A 50 push eax
0040100B E8 E694A677 call KERNEL32.CreateMutexA
00401010 9D popfd
00401011 61 popad
00401012 - E9 8F9FA777 jmp KERNEL32.OpenMutexA
60 9C 68 A0 FD 12 00 33 C0 50 50 E8 71 8D A8 77 9D 61 E9 74 8E A8 77
push多少要看堆栈里面的MutexName的数值
然后点此处新建eip,od会有警告,点是后按shift+F9继续运行,中断后继续Ctrl+G:00401000,撤销所做修改
这个断点的功能就完了
刚去把教程上的copy过来了,呵呵
[ 本帖最后由 gtboy 于 2007-12-30 14:20 编辑 ] 真的能破吗
? /:014 这个不错 真的能破吗
?