一些破解微狗的最新方法

轉載自http://www.jiamigou.net/crack/215.html

先確定微狗有沒有加狗殼,如果沒有則可以直接反彙編,用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
到此爲止,軟件已經可以進入了,運行正常!
本文章只供學習交流用,請不要把此文章用於其他用途,否則一切後果自負!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章