首页
社区
课程
招聘
[旧帖] [原创]国产某即时通讯系统的网络暗桩 0.00雪花
发表于: 2008-3-23 17:27 8505

[旧帖] [原创]国产某即时通讯系统的网络暗桩 0.00雪花

2008-3-23 17:27
8505
这是款不知名字的即时通讯软件,售价昂贵
版本为3.61实时协作版
已经将涉及程序名字的部分改为了“XXX”

功能无比强大
网上已经有了它的注册机,但是本地注册后,只要服务器一连网
过会儿就会发现出现“未注册”,注册表中的ACTIVESN项目即被清除
估计是发现连接互联网后就自动连接网络服务器来验证本地帐号是否
真实存在。。。

于是乎很多不愿意或者没能力负担支付费用的用户就选择服务器只在内网中使用
太可惜了,而且“网络暗桩”一直让人心惊胆战
那么我们来看看,怎样釜底抽薪干掉“网络暗桩”

删除注册表项目,可能使用如下API:
RegDeleteKeyA 删除现有项下方一个指定的子项
RegDeleteValueA 删除指定项下方的一个值

断点吧
连上外网,然后上会网,到20:04的时候发现不知道什么时候起,断点已经拦住了
那么ATL+F9,重新断在 4094C0 处,取消其他断点,利用注册机重新注册激活,然后静观其变
过了好长一会就断下来了,发现调用来自40B0AF
那么断在40B080,并且强行让4094F0跳过,以免注册表信息又被清除
好了,现在几乎不到一秒都可以拦截住了,如下:

0040B080    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
0040B086    6A FF           PUSH -1
0040B088    68 003A4D00     PUSH XXXServe.004D3A00
0040B08D    50              PUSH EAX
0040B08E    8B4424 10       MOV EAX,DWORD PTR SS:[ESP+10]
0040B092    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0040B099    83EC 08         SUB ESP,8
0040B09C    83F8 0A         CMP EAX,0A
0040B09F    53              PUSH EBX
0040B0A0    8BD9            MOV EBX,ECX
0040B0A2    0F85 0E010000   JNZ XXXServe.0040B1B6      
                          
改这里可以直接进入网络验证;如果不想进行网络验证的话就改必须跳即可,但是不保险,推荐到雷区里面改写

0040B0A8    56              PUSH ESI
0040B0A9    57              PUSH EDI
0040B0AA    B9 B8755000     MOV ECX,XXXServe.005075B8
0040B0AF    E8 0CE4FFFF     CALL XXXServe.004094C0                               ; 雷区 F7
0040B0B4    8BF8            MOV EDI,EAX
0040B0B6    8D4424 0C       LEA EAX,DWORD PTR SS:[ESP+C]
0040B0BA    50              PUSH EAX
0040B0BB    E8 7C180B00     CALL XXXServe.004BC93C
0040B0C0    6A 00           PUSH 0
0040B0C2    8D4C24 10       LEA ECX,DWORD PTR SS:[ESP+10]
0040B0C6    E8 B0180B00     CALL XXXServe.004BC97B
0040B0CB    8B70 08         MOV ESI,DWORD PTR DS:[EAX+8]
0040B0CE    8B43 64         MOV EAX,DWORD PTR DS:[EBX+64]
0040B0D1    3BF0            CMP ESI,EAX
0040B0D3    0F8C AC000000   JL XXXServe.0040B185
0040B0D9    40              INC EAX
0040B0DA    3BF0            CMP ESI,EAX
0040B0DC    0F8D A3000000   JGE XXXServe.0040B185
0040B0E2    83FF 01         CMP EDI,1
0040B0E5    74 0E           JE SHORT XXXServe.0040B0F5
0040B0E7    83FF 03         CMP EDI,3
0040B0EA    74 09           JE SHORT XXXServe.0040B0F5
0040B0EC    83FF 04         CMP EDI,4
0040B0EF    0F85 90000000   JNZ XXXServe.0040B185
0040B0F5    8D4C24 10       LEA ECX,DWORD PTR SS:[ESP+10]
0040B0F9    51              PUSH ECX
0040B0FA    E8 D1AEFFFF     CALL XXXServe.00405FD0
0040B0FF    83C4 04         ADD ESP,4
0040B102    68 BCC34F00     PUSH XXXServe.004FC3BC                               ; ASCII "Server.ini"
0040B107    8D5424 28       LEA EDX,DWORD PTR SS:[ESP+28]
0040B10B    50              PUSH EAX
0040B10C    52              PUSH EDX
0040B10D    C74424 28 00000>MOV DWORD PTR SS:[ESP+28],0
0040B115    E8 A4350B00     CALL XXXServe.004BE6BE
0040B11A    8D4C24 10       LEA ECX,DWORD PTR SS:[ESP+10]
0040B11E    C64424 1C 02    MOV BYTE PTR SS:[ESP+1C],2
0040B123    E8 01330B00     CALL XXXServe.004BE429
0040B128    8B4424 24       MOV EAX,DWORD PTR SS:[ESP+24]
0040B12C    50              PUSH EAX
0040B12D    6A 00           PUSH 0
0040B12F    68 F0C94F00     PUSH XXXServe.004FC9F0                               ; ASCII "SendWarming"
0040B134    68 E4C94F00     PUSH XXXServe.004FC9E4                               ; ASCII "ServerGuard"
0040B139    FF15 28F44D00   CALL DWORD PTR DS:[<&KERNEL32.GetPrivateProfileIntA>>; kernel32.GetPrivateProfileIntA
0040B13F    85C0            TEST EAX,EAX
0040B141    75 31           JNZ SHORT XXXServe.0040B174
0040B143    68 70C94F00     PUSH XXXServe.004FC970
0040B148    68 6CC94F00     PUSH XXXServe.004FC96C                               ; ASCII "%s"
0040B14D    68 B8755000     PUSH XXXServe.005075B8
0040B152    E8 69C9FFFF     CALL XXXServe.00407AC0
0040B157    8B4C24 30       MOV ECX,DWORD PTR SS:[ESP+30]
0040B15B    83C4 0C         ADD ESP,0C
0040B15E    51              PUSH ECX
0040B15F    68 68C94F00     PUSH XXXServe.004FC968
0040B164    68 F0C94F00     PUSH XXXServe.004FC9F0                               ; ASCII "SendWarming"
0040B169    68 E4C94F00     PUSH XXXServe.004FC9E4                               ; ASCII "ServerGuard"
0040B16E    FF15 18F44D00   CALL DWORD PTR DS:[<&KERNEL32.WritePrivateProfileStr>; kernel32.WritePrivateProfileStringA
0040B174    8D4C24 24       LEA ECX,DWORD PTR SS:[ESP+24]
0040B178    C74424 1C FFFFF>MOV DWORD PTR SS:[ESP+1C],-1
0040B180    E8 A4320B00     CALL XXXServe.004BE429
0040B185    8B43 60         MOV EAX,DWORD PTR DS:[EBX+60]
0040B188    3BF0            CMP ESI,EAX
0040B18A    7C 13           JL SHORT XXXServe.0040B19F
0040B18C    40              INC EAX
0040B18D    3BF0            CMP ESI,EAX
0040B18F    7D 0E           JGE SHORT XXXServe.0040B19F
0040B191    B9 B8755000     MOV ECX,XXXServe.005075B8
0040B196    E8 C5D1FFFF     CALL XXXServe.00408360
0040B19B    6A 01           PUSH 1
0040B19D    EB 02           JMP SHORT XXXServe.0040B1A1
0040B19F    6A 00           PUSH 0
0040B1A1    B9 B8755000     MOV ECX,XXXServe.005075B8
0040B1A6    E8 85D1FFFF     CALL XXXServe.00408330
0040B1AB    8BCB            MOV ECX,EBX
0040B1AD    E8 AE000000     CALL XXXServe.0040B260
0040B1B2    5F              POP EDI
0040B1B3    5E              POP ESI
0040B1B4    EB 73           JMP SHORT XXXServe.0040B229
0040B1B6    83F8 0B         CMP EAX,0B
0040B1B9    75 2F           JNZ SHORT XXXServe.0040B1EA
0040B1BB    8B0D 4C775000   MOV ECX,DWORD PTR DS:[50774C]
0040B1C1    A1 54775000     MOV EAX,DWORD PTR DS:[507754]
0040B1C6    41              INC ECX
0040B1C7    40              INC EAX
0040B1C8    890D 4C775000   MOV DWORD PTR DS:[50774C],ECX
0040B1CE    B9 B8755000     MOV ECX,XXXServe.005075B8
0040B1D3    A3 54775000     MOV DWORD PTR DS:[507754],EAX
0040B1D8    E8 B3D7FFFF     CALL XXXServe.00408990
0040B1DD    8B0D 9C785000   MOV ECX,DWORD PTR DS:[50789C]
0040B1E3    E8 38470200     CALL XXXServe.0042F920
0040B1E8    EB 3F           JMP SHORT XXXServe.0040B229
0040B1EA    83F8 0C         CMP EAX,0C
0040B1ED    75 18           JNZ SHORT XXXServe.0040B207
0040B1EF    8BCB            MOV ECX,EBX
0040B1F1    E8 3A010000     CALL XXXServe.0040B330
0040B1F6    8B0D 9C785000   MOV ECX,DWORD PTR DS:[50789C]
0040B1FC    85C9            TEST ECX,ECX
0040B1FE    74 29           JE SHORT XXXServe.0040B229
0040B200    E8 EB650200     CALL XXXServe.004317F0
0040B205    EB 22           JMP SHORT XXXServe.0040B229
0040B207    83F8 0D         CMP EAX,0D
0040B20A    75 0D           JNZ SHORT XXXServe.0040B219
0040B20C    8B0D 9C785000   MOV ECX,DWORD PTR DS:[50789C]
0040B212    E8 89550200     CALL XXXServe.004307A0
0040B217    EB 10           JMP SHORT XXXServe.0040B229
0040B219    83F8 0F         CMP EAX,0F
0040B21C    75 0B           JNZ SHORT XXXServe.0040B229
0040B21E    8B0D 9C785000   MOV ECX,DWORD PTR DS:[50789C]
0040B224    E8 C7560200     CALL XXXServe.004308F0
0040B229    8BCB            MOV ECX,EBX
0040B22B    E8 2A4E0B00     CALL XXXServe.004C005A
0040B230    8B4C24 0C       MOV ECX,DWORD PTR SS:[ESP+C]
0040B234    5B              POP EBX
0040B235    64:890D 0000000>MOV DWORD PTR FS:[0],ECX
0040B23C    83C4 14         ADD ESP,14
0040B23F    C2 0400         RETN 4

0040B0AF   CALL XXXServe.004094C0                    雷区
00414B1F   CALL XXXServe.004094C0
00426139   CALL XXXServe.004094C0
00429D10   CALL XXXServe.004094C0
0042A030   CALL XXXServe.004094C0

发现有5处这样的“网络暗桩”,都改的话太麻烦了,所以说进雷区改比较好

004094C0    83EC 14         SUB ESP,14
004094C3    8D4424 00       LEA EAX,DWORD PTR SS:[ESP]
004094C7    53              PUSH EBX                                             ; 20:04
004094C8    55              PUSH EBP
004094C9    56              PUSH ESI
004094CA    57              PUSH EDI
004094CB    BD 04000000     MOV EBP,4
004094D0    50              PUSH EAX
004094D1    8BD9            MOV EBX,ECX
004094D3    55              PUSH EBP
004094D4    E8 F7010000     CALL XXXServe.004096D0                               ; F7
004094D9    8BF0            MOV ESI,EAX
004094DB    83C4 08         ADD ESP,8
004094DE    85F6            TEST ESI,ESI
004094E0    74 07           JE SHORT XXXServe.004094E9
004094E2    837C24 10 19    CMP DWORD PTR SS:[ESP+10],19
004094E7    73 43           JNB SHORT XXXServe.0040952C
004094E9    A1 A8785000     MOV EAX,DWORD PTR DS:[5078A8]                        ; 改为 MOV EAX,1 即可
004094EE    85C0            TEST EAX,EAX                                         ; 只要EAX=1即可永远不去TX服务器验证了
004094F0    75 3A           JNZ SHORT XXXServe.0040952C                          ; 改为必须跳
004094F2    68 50C84F00     PUSH XXXServe.004FC850
004094F7    68 B8755000     PUSH XXXServe.005075B8
004094FC    C705 A8785000 0>MOV DWORD PTR DS:[5078A8],1
00409506    E8 B5E5FFFF     CALL XXXServe.00407AC0
0040950B    83C4 08         ADD ESP,8
0040950E    E8 AD000000     CALL XXXServe.004095C0
00409513    8BF8            MOV EDI,EAX                                          ; 保险起见还可以把这里改为 XOR EDI,EDI
00409515    85FF            TEST EDI,EDI
00409517    74 13           JE SHORT XXXServe.0040952C                           ; 当然还可以把它改为必须跳
00409519    68 44C84F00     PUSH XXXServe.004FC844                               ; ASCII "ACTIVESN"
0040951E    57              PUSH EDI
0040951F    FF15 50F04D00   CALL DWORD PTR DS:[<&ADVAPI32.RegDeleteValueA>]      ; ADVAPI32.RegDeleteValueA
00409525    57              PUSH EDI
00409526    FF15 10F04D00   CALL DWORD PTR DS:[<&ADVAPI32.RegCloseKey>]          ; ADVAPI32.RegCloseKey
0040952C    33F6            TEST ESI,ESI
0040952E    EB 0D           JE SHORT XXXServe.0040953D
00409530    B8 02000000     MOV EAX,2
00409535    5F              POP EDI
00409536    5E              POP ESI
00409537    5D              POP EBP
00409538    5B              POP EBX
00409539    83C4 14         ADD ESP,14
0040953C    C3              RETN

004096D0    6A FF           PUSH -1
004096D2    68 87364D00     PUSH XXXServe.004D3687
004096D7    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
004096DD    50              PUSH EAX
004096DE    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
004096E5    81EC 58040000   SUB ESP,458
004096EB    A1 04F54D00     MOV EAX,DWORD PTR DS:[<&XXXDbug._db_on_>]
004096F0    53              PUSH EBX
004096F1    33DB            XOR EBX,EBX
004096F3    55              PUSH EBP
004096F4    895C24 28       MOV DWORD PTR SS:[ESP+28],EBX
004096F8    8B08            MOV ECX,DWORD PTR DS:[EAX]
004096FA    3BCB            CMP ECX,EBX
004096FC    56              PUSH ESI
004096FD    74 3B           JE SHORT XXXServe.0040973A
004096FF    381D 14C14F00   CMP BYTE PTR DS:[4FC114],BL
00409705    74 33           JE SHORT XXXServe.0040973A
00409707    A1 10C14F00     MOV EAX,DWORD PTR DS:[4FC110]
0040970C    8D4C24 28       LEA ECX,DWORD PTR SS:[ESP+28]
00409710    8D5424 24       LEA EDX,DWORD PTR SS:[ESP+24]
00409714    51              PUSH ECX
00409715    52              PUSH EDX
00409716    8D4C24 28       LEA ECX,DWORD PTR SS:[ESP+28]
0040971A    8D5424 24       LEA EDX,DWORD PTR SS:[ESP+24]
0040971E    51              PUSH ECX
0040971F    52              PUSH EDX
00409720    6A 4C           PUSH 4C
00409722    68 C8C14F00     PUSH XXXServe.004FC1C8                               ; ASCII "../../Include\XXXDbug.h"
00409727    68 78C84F00     PUSH XXXServe.004FC878                               ; ASCII "QueryIsActiveEx"
0040972C    50              PUSH EAX
0040972D    894424 4C       MOV DWORD PTR SS:[ESP+4C],EAX
00409731    FF15 08F54D00   CALL DWORD PTR DS:[<&XXXDbug._db_enter_>]            ; XXXDbug._db_enter_
00409737    83C4 20         ADD ESP,20
0040973A    8B8424 78040000 MOV EAX,DWORD PTR SS:[ESP+478]
00409741    899C24 6C040000 MOV DWORD PTR SS:[ESP+46C],EBX
00409748    895C24 18       MOV DWORD PTR SS:[ESP+18],EBX
0040974C    895C24 14       MOV DWORD PTR SS:[ESP+14],EBX
00409750    8918            MOV DWORD PTR DS:[EAX],EBX
00409752    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],1
0040975A    895C24 10       MOV DWORD PTR SS:[ESP+10],EBX
0040975E    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],2
00409766    895C24 0C       MOV DWORD PTR SS:[ESP+C],EBX
0040976A    8D4C24 30       LEA ECX,DWORD PTR SS:[ESP+30]
0040976E    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],3
00409776    51              PUSH ECX
00409777    68 19000200     PUSH 20019
0040977C    53              PUSH EBX
0040977D    68 48C74F00     PUSH XXXServe.004FC748                               ; 注册表SOFTWARE
00409782    68 02000080     PUSH 80000002
00409787    33F6            XOR ESI,ESI
00409789    895C24 44       MOV DWORD PTR SS:[ESP+44],EBX
0040978D    FF15 54F04D00   CALL DWORD PTR DS:[<&ADVAPI32.RegOpenKeyExA>]        ; 打开该项
00409793    3BC3            CMP EAX,EBX
00409795    75 59           JNZ SHORT XXXServe.004097F0                          ; 若不存在就跳
00409797    8D4C24 14       LEA ECX,DWORD PTR SS:[ESP+14]
0040979B    E8 80140000     CALL XXXServe.0040AC20                               ; 结束打开
004097A0    8B4C24 30       MOV ECX,DWORD PTR SS:[ESP+30]
004097A4    3BC3            CMP EAX,EBX
004097A6    894C24 14       MOV DWORD PTR SS:[ESP+14],ECX
004097AA    75 44           JNZ SHORT XXXServe.004097F0
004097AC    53              PUSH EBX
004097AD    53              PUSH EBX
004097AE    68 3F000F00     PUSH 0F003F
004097B3    53              PUSH EBX
004097B4    53              PUSH EBX
004097B5    68 40C74F00     PUSH XXXServe.004FC740                               ; 继续打开TENCENT项
004097BA    51              PUSH ECX
004097BB    8D4C24 2C       LEA ECX,DWORD PTR SS:[ESP+2C]
004097BF    E8 7C140000     CALL XXXServe.0040AC40
004097C4    3BC3            CMP EAX,EBX
004097C6    75 28           JNZ SHORT XXXServe.004097F0                          ; 若不存在就跳
004097C8    8B5424 10       MOV EDX,DWORD PTR SS:[ESP+10]
004097CC    53              PUSH EBX
004097CD    53              PUSH EBX
004097CE    68 3F000F00     PUSH 0F003F
004097D3    53              PUSH EBX
004097D4    53              PUSH EBX
004097D5    68 34C74F00     PUSH XXXServe.004FC734                               ; 继续打开QQServer项目
004097DA    52              PUSH EDX
004097DB    8D4C24 28       LEA ECX,DWORD PTR SS:[ESP+28]
004097DF    E8 5C140000     CALL XXXServe.0040AC40
004097E4    3BC3            CMP EAX,EBX
004097E6    75 08           JNZ SHORT XXXServe.004097F0                          ; 若不存在就跳
004097E8    8B7424 0C       MOV ESI,DWORD PTR SS:[ESP+C]
004097EC    895C24 0C       MOV DWORD PTR SS:[ESP+C],EBX
004097F0    8D4C24 0C       LEA ECX,DWORD PTR SS:[ESP+C]
004097F4    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],2
004097FC    E8 1F140000     CALL XXXServe.0040AC20                               ; 关闭打开
00409801    8D4C24 10       LEA ECX,DWORD PTR SS:[ESP+10]
00409805    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],1
0040980D    E8 0E140000     CALL XXXServe.0040AC20                               ; 关闭打开
00409812    8B4424 14       MOV EAX,DWORD PTR SS:[ESP+14]
00409816    8B2D 10F04D00   MOV EBP,DWORD PTR DS:[<&ADVAPI32.RegCloseKey>]       ; ADVAPI32.RegCloseKey
0040981C    3BC3            CMP EAX,EBX
0040981E    889C24 6C040000 MOV BYTE PTR SS:[ESP+46C],BL
00409825    74 03           JE SHORT XXXServe.0040982A
00409827    50              PUSH EAX
00409828    FFD5            CALL EBP
0040982A    3BF3            CMP ESI,EBX
0040982C    75 42           JNZ SHORT XXXServe.00409870
0040982E    A1 04F54D00     MOV EAX,DWORD PTR DS:[<&XXXDbug._db_on_>]
00409833    C78424 6C040000>MOV DWORD PTR SS:[ESP+46C],-1
0040983E    3918            CMP DWORD PTR DS:[EAX],EBX
00409840    74 27           JE SHORT XXXServe.00409869
00409842    381D 14C14F00   CMP BYTE PTR DS:[4FC114],BL
00409848    74 1F           JE SHORT XXXServe.00409869
0040984A    8D4C24 24       LEA ECX,DWORD PTR SS:[ESP+24]
0040984E    8D5424 20       LEA EDX,DWORD PTR SS:[ESP+20]
00409852    51              PUSH ECX
00409853    8B4C24 30       MOV ECX,DWORD PTR SS:[ESP+30]
00409857    8D4424 20       LEA EAX,DWORD PTR SS:[ESP+20]
0040985B    52              PUSH EDX
0040985C    50              PUSH EAX
0040985D    6A 53           PUSH 53
0040985F    51              PUSH ECX
00409860    FF15 14F54D00   CALL DWORD PTR DS:[<&XXXDbug._db_return_>]           ; XXXDbug._db_return_
00409866    83C4 14         ADD ESP,14
00409869    33C0            XOR EAX,EAX
0040986B    E9 04010000     JMP XXXServe.00409974
00409870    57              PUSH EDI
00409871    B9 FF000000     MOV ECX,0FF
00409876    33C0            XOR EAX,EAX
00409878    8D7C24 69       LEA EDI,DWORD PTR SS:[ESP+69]
0040987C    885C24 68       MOV BYTE PTR SS:[ESP+68],BL
00409880    8D5424 3C       LEA EDX,DWORD PTR SS:[ESP+3C]
00409884    F3:AB           REP STOS DWORD PTR ES:[EDI]
00409886    66:AB           STOS WORD PTR ES:[EDI]
00409888    AA              STOS BYTE PTR ES:[EDI]
00409889    8D4424 68       LEA EAX,DWORD PTR SS:[ESP+68]
0040988D    52              PUSH EDX
0040988E    8D4C24 3C       LEA ECX,DWORD PTR SS:[ESP+3C]
00409892    50              PUSH EAX
00409893    51              PUSH ECX
00409894    53              PUSH EBX
00409895    68 44C84F00     PUSH XXXServe.004FC844                               ; 继续打开ACTIVERSN
0040989A    56              PUSH ESI
0040989B    C74424 50 03000>MOV DWORD PTR SS:[ESP+50],3
004098A3    C74424 54 00040>MOV DWORD PTR SS:[ESP+54],400
004098AB    FF15 1CF04D00   CALL DWORD PTR DS:[<&ADVAPI32.RegQueryValueExA>]     ; ADVAPI32.RegQueryValueExA
004098B1    85C0            TEST EAX,EAX
004098B3    75 7B           JNZ SHORT XXXServe.00409930                          ; 若不存在就跳
004098B5    8D4C24 40       LEA ECX,DWORD PTR SS:[ESP+40]
004098B9    E8 D2380000     CALL XXXServe.0040D190
004098BE    8BBC24 7C040000 MOV EDI,DWORD PTR SS:[ESP+47C]
004098C5    8B9424 78040000 MOV EDX,DWORD PTR SS:[ESP+478]
004098CC    57              PUSH EDI
004098CD    8D4424 6C       LEA EAX,DWORD PTR SS:[ESP+6C]                        ; 激活码喔
004098D1    52              PUSH EDX
004098D2    50              PUSH EAX
004098D3    8D4C24 4C       LEA ECX,DWORD PTR SS:[ESP+4C]
004098D7    C68424 7C040000>MOV BYTE PTR SS:[ESP+47C],4
004098DF    E8 7C4D0000     CALL XXXServe.0040E660                               ;

估计是验证激活

004098E4    8B0D 04F54D00   MOV ECX,DWORD PTR DS:[<&XXXDbug._db_on_>]            ; XXXDbug._db_on_
004098EA    894424 1C       MOV DWORD PTR SS:[ESP+1C],EAX
004098EE    3919            CMP DWORD PTR DS:[ECX],EBX
004098F0    74 2E           JE SHORT XXXServe.00409920
004098F2    381D 14C14F00   CMP BYTE PTR DS:[4FC114],BL
004098F8    74 26           JE SHORT XXXServe.00409920
004098FA    8B5424 30       MOV EDX,DWORD PTR SS:[ESP+30]
004098FE    68 70C84F00     PUSH XXXServe.004FC870                               ; ASCII "key1"
00409903    6A 4B           PUSH 4B
00409905    52              PUSH EDX
00409906    FF15 0CF54D00   CALL DWORD PTR DS:[<&XXXDbug._db_pargs_>]            ; XXXDbug._db_pargs_
0040990C    8B07            MOV EAX,DWORD PTR DS:[EDI]
0040990E    83C4 0C         ADD ESP,0C
00409911    50              PUSH EAX
00409912    68 64C84F00     PUSH XXXServe.004FC864                               ; ASCII "dwNum = %d"
00409917    FF15 10F54D00   CALL DWORD PTR DS:[<&XXXDbug._db_doprnt_>]           ; XXXDbug._db_doprnt_
0040991D    83C4 08         ADD ESP,8
00409920    8D4C24 40       LEA ECX,DWORD PTR SS:[ESP+40]
00409924    889C24 70040000 MOV BYTE PTR SS:[ESP+470],BL
0040992B    E8 90380000     CALL XXXServe.0040D1C0
00409930    56              PUSH ESI
00409931    FFD5            CALL EBP
00409933    8B0D 04F54D00   MOV ECX,DWORD PTR DS:[<&XXXDbug._db_on_>]            ; XXXDbug._db_on_
00409939    C78424 70040000>MOV DWORD PTR SS:[ESP+470],-1
00409944    5F              POP EDI
00409945    3919            CMP DWORD PTR DS:[ECX],EBX
00409947    74 27           JE SHORT XXXServe.00409970
00409949    381D 14C14F00   CMP BYTE PTR DS:[4FC114],BL
0040994F    74 1F           JE SHORT XXXServe.00409970
00409951    8D5424 24       LEA EDX,DWORD PTR SS:[ESP+24]
00409955    8D4424 20       LEA EAX,DWORD PTR SS:[ESP+20]
00409959    52              PUSH EDX
0040995A    8B5424 30       MOV EDX,DWORD PTR SS:[ESP+30]
0040995E    8D4C24 20       LEA ECX,DWORD PTR SS:[ESP+20]
00409962    50              PUSH EAX
00409963    51              PUSH ECX
00409964    6A 53           PUSH 53
00409966    52              PUSH EDX
00409967    FF15 14F54D00   CALL DWORD PTR DS:[<&XXXDbug._db_return_>]           ; XXXDbug._db_return_
0040996D    83C4 14         ADD ESP,14
00409970    8B4424 18       MOV EAX,DWORD PTR SS:[ESP+18]
00409974    8B8C24 64040000 MOV ECX,DWORD PTR SS:[ESP+464]
0040997B    5E              POP ESI
0040997C    5D              POP EBP
0040997D    5B              POP EBX
0040997E    64:890D 0000000>MOV DWORD PTR FS:[0],ECX
00409985    81C4 64040000   ADD ESP,464
0040998B    C3              RETN

004C12B9  |.  3C 04         CMP AL,4
004C12BB  |.  1BC0          SBB EAX,EAX
004C12BD  |.  24 F0         AND AL,0F0
004C12BF  |.  83C0 2F       ADD EAX,2F
004C12C2  |>  48            DEC EAX                                  ;  分支 (案例 1..31)
004C12C3  |.  83F8 30       CMP EAX,30
004C12C6  |.  0F87 C6020000 JA XXXServe.004C1592                     ;  发现这里也有一些名堂,暂时没时间分析,估计已经影响不大
004C12CC  |.  FF2485 A6154C>JMP DWORD PTR DS:[EAX*4+4C15A6]
004C12D3  |>  FF75 0C       PUSH DWORD PTR SS:[EBP+C]                ;  案例 1 --> 分支 004C12C2
004C12D6  |.  E8 F5670000   CALL XXXServe.004C7AD0
004C12DB  |.  50            PUSH EAX

破解“网络暗桩”方法 (理论可行,未证实过)

普通方案一、(基本没有问题)

只要如下改写3处即可很有效地避开网络暗桩

第一处:4094e9 从原来的 MOV EAX,DWORD PTR DS:[5078A8] 改为 MOV EAX,1
第二处:4094f0 从原来的 JNZ SHORT XXXServe.0040952C 改为 JMP SHORT XXXServe.0040952C
第三处:409517 从原来的 JE SHORT XXXServe.0040952C 改为 JMP SHORT XXXServe.0040952C

普通方案二、(可能有遗漏的方面)

40B0A2 处 JNZ XXXServe.0040B1B6 改为 JMP XXXServe.0040B1B6

增强方案(推荐)

将“普通方案一”和“普通方案二”结合到一起,也就是4个地方要改:

第一处:40B0A2 从原来的 JNZ XXXServe.0040B1B6 改为 JMP XXXServe.0040B1B6
第二处:4094e9 从原来的 MOV EAX,DWORD PTR DS:[5078A8] 改为 MOV EAX,1
第三处:4094f0 从原来的 JNZ SHORT XXXServe.0040952C 改为 JMP SHORT XXXServe.0040952C
第四处:409517 从原来的 JE SHORT XXXServe.0040952C 改为 JMP SHORT XXXServe.0040952C

其实还有很多种改法,我也不是专家,只要跟踪到了网络暗桩,
我相信大家都可以百家争鸣的,大家自己改写也是个好办法

因为我比较菜,我是很菜的菜鸟,我不知道它在什么时候通过怎样的方法来连接互联网的,很是郁闷
请大点的大虾跟帖告诉我它是如何进行网络校验的?

呵呵。。。大家可以据此来写个文件补丁,配合网上的那个注册机算是很棒了,值得收藏。

写完这篇文章后,本文作者就失踪了,大家不要“挂念” ^_^

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

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 557
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
写完这篇文章后,本文作者就失踪了,大家不要“挂念” ^_^

-------------马甲 ?
2008-3-23 17:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
太强了...........
2008-3-23 19:58
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
不错的文章..
2008-3-23 20:52
0
雪    币: 220
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
这个一定要是马甲,小心TX找你。
2008-3-23 21:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
联想到了珊瑚虫事件,哎。。。这世道。。。
2008-3-29 21:14
0
雪    币: 334
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
太强了,tx也敢搞
2008-3-29 21:26
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
很好的文章 又学习了好的东西
2008-3-29 21:43
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
怎么好像跟QQ有关系啊,楼主不仔细啊。呵呵。。。学习ING
2008-6-5 18:43
0
雪    币: 261
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
LZ实在利害了!我也不知道要到啥时才能到这种地步啊!
2008-6-5 21:11
0
雪    币: 215
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
騰訊怎么沒把這個VM啊?一定是臨時工干的~~~
2008-6-5 21:37
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习   我也下载个玩玩
2008-7-27 09:52
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习   我也下载个玩玩
2008-7-27 09:57
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
太强了,呵呵,佩服无比!!!
2008-7-27 14:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
楼主牛呀,顶,谢谢分享
2008-7-27 17:44
0
游客
登录 | 注册 方可回帖
返回
//