加密狗软件破解复制T-GOU工作室
RSS

破解微狗的方法示例

来源:未知 作者:admin 时间:2010-12-26 22:04 浏览:

先确定微狗有没有加狗壳,如果没有则可以直接反汇编,用Win32Dasm把汇编,完成后点“查看字符串”

找到:

\.\HOST95.VXD
\.\HOSTNT
\.\LPTDog0
\.RCUSBNT0

从这里可以看出狗开始调用了,也就是读狗的过程。

点其中一个,在软件里找找,


下面读狗部分,肯定你会问是怎么找到的,怎么定位的?

其实也没有一个具体的值,一般都是出现很多的花指令,开头都是

55            PUSH    EBP       
8BEC          MOV     EBP,ESP
后面就是一大堆的花指令!

由此就可以断定这个地方就是读狗的地方了!


进入破解实战:


读加密狗:

0048BE20   $  55            PUSH    EBP       
0048BE21   .  8BEC          MOV     EBP,ESP


33C0    xor eax,eax
C3      ret


只要使EAX的返回值是0就是有狗了。    这样就成功解决无狗了!

下面开始就是很多的花指令了

0048BE23   .  81C4 4CFFFFFF ADD     ESP,-0B4
0048BE29   .  53            PUSH    EBX
0048BE2A   .  56            PUSH    ESI
0048BE2B   .  57            PUSH    EDI
0048BE2C   .  C745 C0 A5A50>MOV     DWORD PTR [EBP-40],0A5A5
0048BE33   .  66:C785 64FFF>MOV     WORD PTR [EBP-9C],0A
0048BE3C   .  E9 5D040000   JMP     0048C29E
0048BE41   >  EB 01         JMP     SHORT 0048BE44                   ;  Case 2 of switch 0048C40E
0048BE43      00            DB      00
0048BE44   >  33C0          XOR     EAX,EAX
0048BE46   .  8945 F4       MOV     [EBP-C],EAX
0048BE49   .  8DB5 6CFFFFFF LEA     ESI,[EBP-94]
0048BE4F   .  8B45 E0       MOV     EAX,[EBP-20]
0048BE52   .  8BD0          MOV     EDX,EAX
0048BE54   .  8955 B8       MOV     [EBP-48],EDX
0048BE57   >  8B4D B8       MOV     ECX,[EBP-48]
0048BE5A   .  C601 00       MOV     BYTE PTR [ECX],0
0048BE5D   .  70 03         JO      SHORT 0048BE62
0048BE5F   .  71 01         JNO     SHORT 0048BE62
0048BE61      01            DB      01
0048BE62   .  8B55 B8       MOV     EDX,[EBP-48]
0048BE65   .  33C9          XOR     ECX,ECX
0048BE67   .  8BFA          MOV     EDI,EDX
0048BE69   .  8BC6          MOV     EAX,ESI
0048BE6B   >  8A17          MOV     DL,[EDI]
0048BE6D   .  8A18          MOV     BL,[EAX]
0048BE6F   .  80E3 01       AND     BL,1
0048BE72   .  03D2          ADD     EDX,EDX
0048BE74   .  0AD3          OR      DL,BL
0048BE76   .  8817          MOV     [EDI],DL
0048BE78   .  72 03         JB      SHORT 0048BE7D
0048BE7A   .  73 01         JNB     SHORT 0048BE7D
0048BE7C      02            DB      02
0048BE7D   .  0FB710        MOVZX   EDX,WORD PTR [EAX]
0048BE80   .  C1FA 02       SAR     EDX,2
0048BE83   .  66:8910       MOV     [EAX],DX
0048BE86   .  75 03         JNZ     SHORT 0048BE8B
0048BE88   .  74 01         JE      SHORT 0048BE8B
0048BE8A      03            DB      03
0048BE8B   .  41            INC     ECX
0048BE8C   .  83F9 08       CMP     ECX,8
0048BE8F   .^ 72 DA         JB      SHORT 0048BE6B

 


狗出错提示的处理:

00401BB8  /$  55            PUSH    EBP
00401BB9  |.  8BEC          MOV     EBP,ESP
00401BBB  |.  83C4 F4       ADD     ESP,-0C
00401BBE  |.  33C0          XOR     EAX,EAX                          ;  EAX=0
00401BC0  |.  A3 449F6C00   MOV     [6C9F44],EAX                     ;  记住此处为0!!
00401BC5  |.  6A 02         PUSH    2                                ; /Arg1 = 00000002
00401BC7  |.  E8 18C62200   CALL    0062E1E4                         ; \2_zydocm.0062E1E4
00401BCC  |.  59            POP     ECX
00401BCD  |.  8945 FC       MOV     [LOCAL.1],EAX
00401BD0  |.  C605 389F6C00>MOV     BYTE PTR [6C9F38],0
00401BD7  |.  66:C705 289F6>MOV     WORD PTR [6C9F28],1
00401BE0  |.  C705 2C9F6C00>MOV     DWORD PTR [6C9F2C],3B8C39
00401BEA  |.  8B55 FC       MOV     EDX,[LOCAL.1]
00401BED  |.  8915 3C9F6C00 MOV     [6C9F3C],EDX                     ;  2_zydocm.006CCB00
00401BF3  |.  66:C705 2A9F6>MOV     WORD PTR [6C9F2A],27
00401BFC  |.  E8 43BA0800   CALL    0048D644                         ;  读狗,有狗返回0
00401C01  |.  8945 F4       MOV     [LOCAL.3],EAX
00401C04  |.  8B4D FC       MOV     ECX,[LOCAL.1]
00401C07      B8 4F000000   MOV     EAX,4F                           ;  [ECX]=4F就解决了无狗提示
00401C0C      90            NOP
00401C0D      90            NOP
00401C0E      90            NOP
00401C0F      FF05 449F6C00 INC     DWORD PTR [6C9F44]               ;  这里加1
00401C15  |>  66:C705 2A9F6>MOV     WORD PTR [6C9F2A],26
00401C1E  |.  E8 21BA0800   CALL    0048D644                         ;  读狗,有狗返回0
00401C23  |.  8945 F4       MOV     [LOCAL.3],EAX
00401C26  |.  8B55 FC       MOV     EDX,[LOCAL.1]
00401C29  |.  0FBE0A        MOVSX   ECX,BYTE PTR [EDX]
00401C2C  |.  83F9 4F       CMP     ECX,4F                           ;  ECX不等4F即可! 这里为0
00401C2F  |.  75 07         JNZ     SHORT 00401C38                   ;  此JNZ要跳!
00401C31  |.  8305 449F6C00>ADD     DWORD PTR [6C9F44],2             ;  上JNZ不跳的话[6C9F44]就会加2了,必死!
00401C38  |>  FF75 FC       PUSH    [LOCAL.1]                        ; /Arg1 = 010B302C
00401C3B  |.  E8 DCC32200   CALL    0062E01C                         ; \2_zydocm.0062E01C
00401C40  |.  59            POP     ECX
00401C41  |.  8B45 08       MOV     EAX,[ARG.1]
00401C44  |.  8B15 449F6C00 MOV     EDX,[6C9F44]                     ;  此处使EDX为1,否则会出错!
00401C4A  |.  8910          MOV     [EAX],EDX                        ;  [EAX]=1,PASS!!!
00401C4C  |.  833D 449F6C00>CMP     DWORD PTR [6C9F44],0             ;  现在知道[6C9F44]为什么要等于1了吧!
00401C53  |.  74 06         JE      SHORT 00401C5B                   ;  上面[6C9F44]等于1就可以了,此处不跳就好了。
00401C55  |.  837D F4 00    CMP     [LOCAL.3],0
00401C59  |.  74 04         JE      SHORT 00401C5F                   ;  一定要跳,否则EAX置0就完了。
00401C5B  |>  33C0          XOR     EAX,EAX
00401C5D  |.  EB 05         JMP     SHORT 00401C64
00401C5F  |>  B8 01000000   MOV     EAX,1                            ;  EAX=1就成功了!
00401C64  |>  8BE5          MOV     ESP,EBP
00401C66  |.  5D            POP     EBP
00401C67  \.  C3            RETN


到此为止,软件已经可以进入了,运行正常!


本文章只供学习交流用,请不要把此文章用于其他用途,否则一切后果自负!
 


Tags:
最新评论共有 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名评论
立即注册账号