首页
社区
课程
招聘
[旧帖] [分享]破解解黑鹰高级班的方法 0.00雪花
发表于: 2007-12-21 09:07 12580

[旧帖] [分享]破解解黑鹰高级班的方法 0.00雪花

2007-12-21 09:07
12580
破解解黑鹰高级班的方法

BP OpenMutexA

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 D8 FD 12 00 33 C0 50 50 E8 2F D9 40 7C 9D 61 E9 04 DA 40 7C 90

HE GetDlgItem

054E59F6    8B4481 18       MOV EAX,DWORD PTR DS:[ECX+EAX*4+18]
054E59FA    35 8AC0E665     XOR EAX,65E6C08A       改JMP 00401000

在00401000改成
xor eax 65E6C08A
cmp eax, ******* 我们的硬件码
jnz 00401000
mov eax ,******* 别人的硬件码
retn 8
35 8A C0 E6 65 3D 54 8A C1 4C 75 F4 B8 41 DD 48 5F C2 08 00 00 00

黑鹰KEY
硬件号:9C64-79B3
hewin
000016-C04G2N-PYNWW5-TXE866-UEZRZY-AJGU8U-0JYJB0-EDWQ8D-N2JPWN-70WZT7

大伙自己试吧...

cracker就是把收费的东东变成免费....这是偶们的目的

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (45)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Hardware fingerprint: FF3A-560E
用户名:shouzhi
KEY:000014-9GBQ37-BEB02A-P194RD-RNB7NH-9DF592-AQBWYP-UCQVN9-KH1RXQ-GKY85K
------------------------------------------------------------------------
【破解过程】OD载入.....,下断:bp OpenMutexA

0044C243 >  55            push    ebp
0044C244  |.  8BEC          mov     ebp, esp
0044C246  |.  6A FF         push    -1
0044C248  |.  68 405F4700   push    00475F40
0044C24D  |.  68 80BF4400   push    0044BF80                         ;  SE 处理程序安装
0044C252  |.  64:A1 0000000>mov     eax, dword ptr fs:[0]
0044C258  |.  50            push    eax
0044C259  |.  64:8925 00000>mov     dword ptr fs:[0], esp
0044C260  |.  83EC 58       sub     esp, 58
0044C263  |.  53            push    ebx
0044C264  |.  56            push    esi
0044C265  |.  57            push    edi
------------------------------------------------------------------------------------------
F9运行。

7C80EA3B >  8BFF            mov     edi, edi                         ; ntdll.7C930738
7C80EA3D    55              push    ebp
7C80EA3E    8BEC            mov     ebp, esp
7C80EA40    51              push    ecx
7C80EA41    51              push    ecx
7C80EA42    837D 10 00      cmp     dword ptr [ebp+10], 0
7C80EA46    56              push    esi
7C80EA47    0F84 D7540300   je      7C843F24
7C80EA4D    64:A1 18000000  mov     eax, dword ptr fs:[18]

----------------------------------------------------------------------------------------
Ctrl+G,00401000,又是空代码

00401000    0000            add     byte ptr [eax], al
00401002    0000            add     byte ptr [eax], al
00401004    0000            add     byte ptr [eax], al
00401006    0000            add     byte ptr [eax], al
00401008    0000            add     byte ptr [eax], al
0040100A    0000            add     byte ptr [eax], al
0040100C    0000            add     byte ptr [eax], al
0040100E    0000            add     byte ptr [eax], al
00401010    0000            add     byte ptr [eax], al
00401012    0000            add     byte ptr [eax], al
00401014    0000            add     byte ptr [eax], al
00401016    0000            add     byte ptr [eax], al
00401018    0000            add     byte ptr [eax], al
---------------------------------------------------------------------------------
分别填入以下代码:

00401000    60              pushad
00401001    9C              pushfd
00401002    68 D8FD1300     push    13FDD8         ; ASCII "370:AA0A7A23E"  //这里一定要出现ASCII码,否则就不对,根据自己的改,看堆栈那里的值,就行了。
00401007    33C0            xor     eax, eax
00401009    50              push    eax
0040100A    50              push    eax
0040100B    E8 4FD9407C     call    kernel32.CreateMutexA
00401010    9D              popfd
00401011    61              popad
00401012  - E9 24DA407C     jmp     kernel32.OpenMutexA

--------------------------------------------------------------------------------------------
选择第一行,右键-新键EIP,F9运行。

7C80EA3B >  8BFF            mov     edi, edi                         ; ntdll.7C930738
7C80EA3D    55              push    ebp
7C80EA3E    8BEC            mov     ebp, esp
7C80EA40    51              push    ecx
7C80EA41    51              push    ecx
7C80EA42    837D 10 00      cmp     dword ptr [ebp+10], 0
7C80EA46    56              push    esi
7C80EA47    0F84 D7540300   je      7C843F24
7C80EA4D    64:A1 18000000  mov     eax, dword ptr fs:[18]
7C80EA53    FF75 10         push    dword ptr [ebp+10]

-------------------------------------------------------------------------------------
F2取消断点,Ctrl+G,00401000.把这10行代码全选上,“撤消选择处修改”。
00401000    60              pushad
00401001    9C              pushfd
00401002    68 D8FD1300     push    13FDD8                           ; ASCII "370:AA0A7A23E"
00401007    33C0            xor     eax, eax
00401009    50              push    eax
0040100A    50              push    eax
0040100B    E8 4FD9407C     call    kernel32.CreateMutexA
00401010    9D              popfd
00401011    61              popad
00401012  - E9 24DA407C     jmp     kernel32.OpenMutexA

----------------------------------------------------------------------------------------
//以上就是把双进程改为单进程,你会以为什么的方法跟单进程一样,是一样,不过有一点点的小改变。//

F9运行,出现对话框不是不用管他,也不要关闭,现在我们下断:he GetDlgItem,现在我们就可以点‘OK’了。

77D247FE >  8BFF            mov     edi, edi
77D24800    55              push    ebp
77D24801    8BEC            mov     ebp, esp
77D24803    8B4D 08         mov     ecx, dword ptr [ebp+8]
77D24806    E8 C53CFFFF     call    77D184D0
77D2480B    85C0            test    eax, eax
77D2480D    74 1F           je      short 77D2482E
77D2480F    56              push    esi
77D24810    FF75 0C         push    dword ptr [ebp+C]
77D24813    50              push    eax
77D24814    E8 A9FFFFFF     call    77D247C2
77D24819    85C0            test    eax, eax
77D2481B    0F84 60D80000   je      77D32081
77D24821    8B30            mov     esi, dword ptr [eax]
-----------------------------------------------------------------------------------------
删除刚才的断点,Alt+F9,

00BF4618    50              push    eax
00BF4619    68 15040000     push    415
00BF461E    57              push    edi
00BF461F    FFD6            call    esi
00BF4621    50              push    eax
00BF4622    68 07040000     push    407
00BF4627    57              push    edi
00BF4628    FFD6            call    esi
00BF462A    50              push    eax
00BF462B    E8 2370FFFF     call    00BEB653
00BF4630    8B0D E01EC100   mov     ecx, dword ptr [C11EE0]
00BF4636    83C4 0C         add     esp, 0C
00BF4639    E8 9F3EFEFF     call    00BD84DD
------------------------------------------------------------------------------------
到了这里,我们不能再去找上一个RETN结束句了后那么做了,因为这样会又变成双进程了,

00BF4618    50              push    eax
00BF4619    68 15040000     push    415
00BF461E    57              push    edi
00BF461F    FFD6            call    esi
00BF4621    50              push    eax
00BF4622    68 07040000     push    407
00BF4627    57              push    edi
00BF4628    FFD6            call    esi
00BF462A    50              push    eax
00BF462B    E8 2370FFFF     call    00BEB653
00BF4630    8B0D E01EC100   mov     ecx, dword ptr [C11EE0]
00BF4636    83C4 0C         add     esp, 0C
00BF4639    E8 9F3EFEFF     call    00BD84DD

------------------------------------------------------------------------------------
看过我写的单进程的破文可以知道,第二次大跳转在,00BF4689,我们直接往下翻,找到后,F2下断,F9运行,F2取消断点,F7进入。

00BF4689    E8 253CFEFF     call    00BD82B3
00BF468E    53              push    ebx
00BF468F    B9 98FAC000     mov     ecx, 0C0FA98
00BF4694    8945 08         mov     dword ptr [ebp+8], eax
00BF4697    E8 353CFEFF     call    00BD82D1
00BF469C    837D 14 01      cmp     dword ptr [ebp+14], 1
00BF46A0    75 27           jnz     short 00BF46C9
00BF46A2    8B45 08         mov     eax, dword ptr [ebp+8]
00BF46A5    8BC8            mov     ecx, eax
00BF46A7    81E1 FFFF0000   and     ecx, 0FFFF
00BF46AD    C1E8 10         shr     eax, 10
--------------------------------------------------------------------------------------
00BD82B3    56  
稻草人(23380605)  9:21:41
0BF4689    E8 253CFEFF     call    00BD82B3
00BF468E    53              push    ebx
00BF468F    B9 98FAC000     mov     ecx, 0C0FA98
00BF4694    8945 08         mov     dword ptr [ebp+8], eax
00BF4697    E8 353CFEFF     call    00BD82D1
00BF469C    837D 14 01      cmp     dword ptr [ebp+14], 1
00BF46A0    75 27           jnz     short 00BF46C9
00BF46A2    8B45 08         mov     eax, dword ptr [ebp+8]
00BF46A5    8BC8            mov     ecx, eax
00BF46A7    81E1 FFFF0000   and     ecx, 0FFFF
00BF46AD    C1E8 10         shr     eax, 10
--------------------------------------------------------------------------------------
00BD82B3    56              push    esi                              ; USER32.GetDlgItem
00BD82B4    8BF1            mov     esi, ecx
00BD82B6    FF7424 08       push    dword ptr [esp+8]
00BD82BA    8B8E 5C060000   mov     ecx, dword ptr [esi+65C]
00BD82C0    6A 00           push    0
00BD82C2    E8 24D70000     call    00BE59EB                   //单步到这里,F7进入。
00BD82C7    3386 5C200000   xor     eax, dword ptr [esi+205C]
00BD82CD    5E              pop     esi
00BD82CE    C2 0400         retn    4

------------------------------------------------------------------------------------------
到这里了,就跟我上一篇单进程的方法一样了。

00BE59EB    8B4424 04       mov     eax, dword ptr [esp+4]
00BE59EF    C1E0 06         shl     eax, 6
00BE59F2    034424 08       add     eax, dword ptr [esp+8]
00BE59F6    8B4481 18       mov     eax, dword ptr [ecx+eax*4+18]
00BE59FA    35 8AC0E665     xor     eax, 65E6C08A                    //改成 JMP 00401000,“跟随”。
00BE59FF    C2 0800         retn    8
00BE5A02    E8 05000000     call    00BE5A0C

-----------------------------------------------------------------------------
还是空代码,这里就是打补丁了。

00401000    0000            add     byte ptr [eax], al
00401002    0000            add     byte ptr [eax], al
00401004    0000            add     byte ptr [eax], al
00401006    0000            add     byte ptr [eax], al
00401008    0000            add     byte ptr [eax], al
0040100A    0000            add     byte ptr [eax], al
0040100C    0000            add     byte ptr [eax], al
0040100E    0000            add     byte ptr [eax], al
00401010    0000            add     byte ptr [eax], al
00401012    0000            add     byte ptr [eax], al
00401014    0000            add     byte ptr [eax], al
00401016    0000            add     byte ptr [eax], al
00401018    0000            add     byte ptr [eax], al
0040101A    0000            add     byte ptr [eax], al
0040101C    0000            add     byte ptr [eax], al

---------------------------------------------------------------------------------------------
写成
xor     eax, 65E6C08A
cmp     eax, 331AD583  //判断 EAX 是否是我的机器码, 331AD583 是我的机器码。根据自己的硬盘号,改成自己的机器码
jnz     00401011       //不是就返回
mov     eax, 5B09DF2D  //如果是我的机器码就将  5B09DF2D(别人的机器码,也是有正确的KEY的机器码)替换成自己的。
retn    8
稻草人(23380605)  9:21:51

------------------------------------------------------------------------
打好补丁之后,在寄存器中,双击EIP 00AC59EB返回。

00AC59FA  - E9 01B693FF     jmp     dumped_.00401000  //撤消选择出修改
00AC59FF    C2 0800         retn    8
00AC5A02    E8 05000000     call    00AC5A0C
00AC5A07    E9 0C000000     jmp     00AC5A18
00AC5A0C    68 7830AF00     push    0AF3078
00AC5A11    FF15 7062AE00   call    dword ptr [AE6270]               ; kernel32.InitializeCriticalSection
00AC5A17    C3              retn

------------------------------------------------------------------------
F9运行,出现对话框,把已有正确的KEY填进去。点‘OK’,提示无效,因为我们还没有运行补丁。不用关闭它,我们继续。

00AC59FA    35 8AC0E665     xor     eax, 65E6C08A //改成 jmp 00401000,“跟随”。
00AC59FF    C2 0800         retn    8
00AC5A02    E8 05000000     call    00AC5A0C
00AC5A07    E9 0C000000     jmp     00AC5A18
00AC5A0C    68 7830AF00     push    0AF3078
00AC5A11    FF15 7062AE00   call    dword ptr [AE6270]               ; kernel32.InitializeCriticalSection
00AC5A17    C3              retn

-------------------------------------------------------------------

00401000    35 8AC0E665     xor     eax, 65E6C08A  //F2下断,再把刚才的对话框点“OK”。
00401005    3D 64B77584     cmp     eax, 8475B764
0040100A    75 05           jnz     short 00401011
0040100C    B8 41DD485F     mov     eax, 5F48DD41
00401011    C2 0000         retn    0

再F2取消断点,F9运行。

这样就结束了,就可以运行文件试试看了,没有再要求输入KEY。成功了............结束。
2007-12-21 09:29
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

收下
.........................
2007-12-21 10:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
强,我回去试试,谢谢
2007-12-21 10:43
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
问题是怎么才能知道自己的硬件ID.!!!
2007-12-21 20:50
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不行!!!!
2007-12-22 05:23
0
雪    币: 623
活跃值: (10)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
7
正常运行程序 就会看到自己的硬件ID
2007-12-22 14:20
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
写成
xor     eax, 65E6C08A
cmp     eax, 331AD583  //判断 EAX 是否是我的机器码, 331AD583 是我的机器码。根据自己的硬盘号,改成自己的机器码
jnz     00401011       //不是就返回
mov     eax, 5B09DF2D  //如果是我的机器码就将  5B09DF2D(别人的机器码,也是有正确的KEY的机器码)替换成自己的。
retn    8

他这上面说..要用自己的机器码换别人的机器码...我想知道自己的机器码在哪里!!!!
2007-12-22 16:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
是呀,怎么知道自己的机器码,我的硬件号是276E-2B7A,我的机器码可以看作是276E2B7A 吗?
2007-12-23 21:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我的机器码这么长的??

95633830400011738405845451753638382
2007-12-23 23:53
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我的机器码也是这么长的 95162330303591238600773354036139383

这不就是带key搞Armadillo吗? 偶下的视频文件好像没加壳啊
2007-12-24 02:06
0
雪    币: 218
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这个真的可行吗?
2007-12-24 08:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
路过中````我是黑鹰会员,就不用了
不过楼主的方法 我收藏拉
2007-12-24 08:39
0
雪    币: 219
活跃值: (208)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不明白这是搞黑鹰的提高班还是搞天草的高级班,天草的高级班才是加的穿山夹的
2007-12-24 11:41
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
黑鹰高级班在哪里下啊?想知道
2007-12-24 11:59
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
加了双层壳的,你这个应该是显示了老王注册序列提示号。
2007-12-24 12:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
哪位高手能指点一下迷经,告诉我们这群菜鸟怎么得到机器码呀
2007-12-24 13:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这个应该是搞天草的高级班的
2007-12-24 13:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我回去试试!!
2007-12-24 13:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
出个教程吧,这样看太费事啦。
2007-12-24 21:14
0
雪    币: 7107
活跃值: (3389)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
高级版的教程到底在哪里下啊!!!!!!!!
2007-12-25 16:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
9494,老大出个视频看看啊
2007-12-25 20:24
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
有人成功了吗?能否出来交流一下,我的OD载入怎么跟楼主的不一样??????????
2007-12-25 20:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ltr
24
谢谢分享...
2007-12-26 09:52
0
雪    币: 7107
活跃值: (3389)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
好象还没有成功的了,我照教程做了,到最后一步却还是不正确!郁闷
2007-12-26 13:04
0
游客
登录 | 注册 方可回帖
返回
//