首页
社区
课程
招聘
[原创]破解 iTunes的登录协议。
发表于: 2013-4-15 17:12 54687

[原创]破解 iTunes的登录协议。

2013-4-15 17:12
54687

【软件】  iTunes
【作者】 fosom
【2013.4.15】
【前提】OD,IDA,iTunes

  最近很多看雪的朋友找我看看iTunes怎么分析,今天又恰好没事,就看了看。

【iTunes登录协议-描述】
<plist version="1.0">
<dict>
<key>appleId</key>
<string>asdfasdf@asdf.com</string>
<key>attempt</key>
<integer>1</integer>
<key>createSession</key>
<string>true</string>
<key>guid</key>
<string>4AEF365B.CF847F94.08E11EF5.FDD88C5B.09DA8172.65FAFEFB.6A193139</string>
<key>machineName</key>
<string>2012-20130221HH</string>
<key>password</key>
<string>qweqweqwe</string>
<key>why</key>
<string>signIn</string>
</dict>
</plist>

【登录过程分析】

  ·在此,只提供关键Call的分析过程:(也就是登录协议的xml的组合过程)

.text:1081B6F0 LoginServer     proc near               ; CODE XREF: sub_1082A6A0+3F7p
.text:1081B6F0
.text:1081B6F0 var_244         = dword ptr -244h
.text:1081B6F0 var_240         = dword ptr -240h
.text:1081B6F0 var_23C         = dword ptr -23Ch
.text:1081B6F0 var_238         = dword ptr -238h
.text:1081B6F0 var_234         = dword ptr -234h
.text:1081B6F0 var_230         = dword ptr -230h
.text:1081B6F0 var_229         = byte ptr -229h
.text:1081B6F0 var_228         = dword ptr -228h
.text:1081B6F0 var_221         = byte ptr -221h
.text:1081B6F0 var_220         = dword ptr -220h
.text:1081B6F0 var_21C         = dword ptr -21Ch
.text:1081B6F0 var_218         = word ptr -218h
.text:1081B6F0 var_18          = word ptr -18h
.text:1081B6F0 var_16          = byte ptr -16h
.text:1081B6F0 var_10          = dword ptr -10h
.text:1081B6F0 var_C           = dword ptr -0Ch
.text:1081B6F0 var_4           = dword ptr -4
.text:1081B6F0
.text:1081B6F0                 push    ebp
.text:1081B6F1                 mov     ebp, esp
.text:1081B6F3                 push    0FFFFFFFFh
.text:1081B6F5                 push    offset loc_10FC8DDB
.text:1081B6FA                 mov     eax, large fs:0
.text:1081B700                 push    eax
.text:1081B701                 sub     esp, 23Ch
.text:1081B707                 mov     eax, dword_1131C190
.text:1081B70C                 xor     eax, ebp
.text:1081B70E                 mov     [ebp+var_10], eax
.text:1081B711                 push    ebx
.text:1081B712                 push    esi
.text:1081B713                 push    edi
.text:1081B714                 push    eax
.text:1081B715                 lea     eax, [ebp+var_C]
.text:1081B718                 mov     large fs:0, eax
.text:1081B71E                 xor     edi, edi
.text:1081B720                 xor     ebx, ebx
.text:1081B722                 mov     [ebp+var_244], ecx
.text:1081B728                 mov     esi, edx
.text:1081B72A                 mov     [ebp+var_240], edi
.text:1081B730                 mov     [ebp+var_23C], ebx
.text:1081B736                 mov     [ebp+var_4], edi
.text:1081B739                 mov     al, [esi+0CB8h]
.text:1081B73F                 and     al, 1
.text:1081B741                 mov     [ebp+var_221], al
.text:1081B747                 mov     eax, [esi+0CB8h]
.text:1081B74D                 push    edi
.text:1081B74E                 shr     eax, 1
.text:1081B750                 push    esi
.text:1081B751                 and     al, 1
.text:1081B753                 push    ecx
.text:1081B754                 mov     ecx, dword_1156CA4C
.text:1081B75A                 mov     [ebp+var_229], al
.text:1081B760                 call    sub_108186D0
.text:1081B765                 mov     [ebp+var_238], eax
.text:1081B76B                 cmp     eax, edi
.text:1081B76D                 jnz     short loc_1081B77A
.text:1081B76F                 mov     edi, [esi+8A0h]
.text:1081B775                 jmp     loc_1081BBD0
.text:1081B77A ; ---------------------------------------------------------------------------
.text:1081B77A
.text:1081B77A loc_1081B77A:                           ; CODE XREF: LoginServer+7Dj
.text:1081B77A                 mov     ecx, ds:kCFTypeDictionaryValueCallBacks
.text:1081B780                 mov     edx, ds:kCFTypeDictionaryKeyCallBacks
.text:1081B786                 push    ecx
.text:1081B787                 push    edx
.text:1081B788                 push    edi
.text:1081B789                 push    edi
.text:1081B78A                 call    ds:CFDictionaryCreateMutable
.text:1081B790                 add     esp, 10h
.text:1081B793                 mov     [ebp+var_228], eax
.text:1081B799                 cmp     eax, edi
.text:1081B79B                 jnz     short loc_1081B7A7
.text:1081B79D                 mov     edi, 0FFFFFF94h
.text:1081B7A2                 jmp     loc_1081BBAE
.text:1081B7A7 ; ---------------------------------------------------------------------------
.text:1081B7A7
.text:1081B7A7 loc_1081B7A7:                           ; CODE XREF: LoginServer+ABj
.text:1081B7A7                 mov     eax, [esi+8]
.text:1081B7AA                 mov     ecx, [esi+0Ch]
.text:1081B7AD                 push    offset aDsid    ; "dsid"
.text:1081B7B2                 mov     [ebp+var_234], eax
.text:1081B7B8                 mov     [ebp+var_230], ecx
.text:1081B7BE                 call    ds:__CFStringMakeConstantString
.text:1081B7C4                 mov     ebx, eax
.text:1081B7C6                 add     esp, 4
.text:1081B7C9                 cmp     ebx, edi
.text:1081B7CB                 jz      short loc_1081B816
.text:1081B7CD                 mov     edx, [ebp+var_234]
.text:1081B7D3                 or      edx, [ebp+var_230]
.text:1081B7D9                 jz      short loc_1081B816
.text:1081B7DB                 mov     ecx, dword_11565448
.text:1081B7E1                 lea     eax, [ebp+var_234]
.text:1081B7E7                 push    eax
.text:1081B7E8                 push    4
.text:1081B7EA                 push    ecx
.text:1081B7EB                 call    ds:CFNumberCreate
.text:1081B7F1                 mov     edi, eax
.text:1081B7F3                 add     esp, 0Ch
.text:1081B7F6                 test    edi, edi
.text:1081B7F8                 jz      short loc_1081B816
.text:1081B7FA                 mov     edx, [ebp+var_228]
.text:1081B800                 push    edi
.text:1081B801                 push    ebx
.text:1081B802                 push    edx
.text:1081B803                 call    ds:CFDictionarySetValue
.text:1081B809                 add     esp, 0Ch
.text:1081B80C                 push    edi
.text:1081B80D                 call    ds:CFRelease
.text:1081B813                 add     esp, 4
.text:1081B816
.text:1081B816 loc_1081B816:                           ; CODE XREF: LoginServer+DBj
.text:1081B816                                         ; LoginServer+E9j ...
.text:1081B816                 push    offset aAppleid_0 ; 这里,就是帐号: asdfasdf@asdf.com
.text:1081B81B                 lea     edi, [esi+8B0h]
.text:1081B821                 call    ds:__CFStringMakeConstantString
.text:1081B827                 mov     ebx, eax
.text:1081B829                 add     esp, 4
.text:1081B82C                 test    ebx, ebx
.text:1081B82E                 jz      short loc_1081B864
.text:1081B830                 test    edi, edi
.text:1081B832                 jz      short loc_1081B864
.text:1081B834                 cmp     word ptr [edi], 0
.text:1081B838                 jz      short loc_1081B864
.text:1081B83A                 mov     eax, edi
.text:1081B83C                 call    GetCFString     ; ;宽字符转字符;Widestring --> char*
.text:1081B841                 mov     edi, eax
.text:1081B843                 test    edi, edi
.text:1081B845                 jz      short loc_1081B864
.text:1081B847                 mov     eax, [ebp+pXMLNode] ; 042B1170  E8 E6 78 01 80 12 00 01 09 00 00 00 00 00 00 00
.text:1081B847                                         ; 042B1180  00 00 00 00 00 00 01 00 50 02 76 01 00 00 00 00
.text:1081B84D                 push    eax             ; pXMLNode
.text:1081B84E                 mov     ecx, edi        ; 0432E408  58 93 78 01 8C 07 00 01 12 65 65 65 65 65 65 65  X搙.eeeeeee
.text:1081B84E                                         ; 0432E418  65 40 71 77 65 71 77 2E 63 6F 6D 00 00 00 00 00  e@qweqw.com.....
.text:1081B84E                                         ;
.text:1081B84E                                         ;
.text:1081B850                 mov     edx, ebx        ; 0426ACA0  58 93 78 01 8C 07 00 00 07 61 70 70 6C 65 49 64  X搙..appleId
.text:1081B850                                         ; 0426ACB0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
.text:1081B850                                         ;
.text:1081B850                                         ;
.text:1081B852                 call    CFDictionarySetValue1 ; ;设置XML的节点的值
.text:1081B852                                         ; 参数:
.text:1081B852                                         ; pNewNode ;节点指针
.text:1081B852                                         ; ecx: 当前节点Value
.text:1081B852                                         ; edx: 当前节点Name

.text:1081B857                 add     esp, 4
.text:1081B85A                 push    edi
.text:1081B85B                 call    ds:CFRelease
.text:1081B861                 add     esp, 4
.text:1081B864
.text:1081B864 loc_1081B864:                           ; CODE XREF: LoginServer+13Ej
.text:1081B864                                         ; LoginServer+142j ...
.text:1081B864                 push    offset aPassword_0 ; 密码: qweqweqwe
.text:1081B869                 lea     edi, [esi+0AB0h]
.text:1081B86F                 call    ds:__CFStringMakeConstantString
.text:1081B875                 mov     ebx, eax
.text:1081B877                 add     esp, 4
.text:1081B87A                 test    ebx, ebx
.text:1081B87C                 jz      short loc_1081B8B2
.text:1081B87E                 test    edi, edi
.text:1081B880                 jz      short loc_1081B8B2
.text:1081B882                 cmp     word ptr [edi], 0
.text:1081B886                 jz      short loc_1081B8B2
.text:1081B888                 mov     eax, edi
.text:1081B88A                 call    sub_104B59D0
.text:1081B88F                 mov     edi, eax
.text:1081B891                 test    edi, edi
.text:1081B893                 jz      short loc_1081B8B2
.text:1081B895                 mov     ecx, [ebp+var_228]
.text:1081B89B                 push    ecx
.text:1081B89C                 mov     ecx, edi
.text:1081B89E                 mov     edx, ebx
.text:1081B8A0                 call    sub_10001580
.text:1081B8A5                 add     esp, 4
.text:1081B8A8                 push    edi
.text:1081B8A9                 call    ds:CFRelease
.text:1081B8AF                 add     esp, 4
.text:1081B8B2
.text:1081B8B2 loc_1081B8B2:                           ; CODE XREF: LoginServer+18Cj
.text:1081B8B2                                         ; LoginServer+190j ...
.text:1081B8B2                 mov     edx, [esi+0CB0h]
.text:1081B8B8                 push    offset aAttempt ; "attempt"
.text:1081B8BD                 mov     [ebp+var_234], edx
.text:1081B8C3                 mov     [ebp+var_230], 0
.text:1081B8CD                 call    ds:__CFStringMakeConstantString
.text:1081B8D3                 mov     ebx, eax
.text:1081B8D5                 add     esp, 4
.text:1081B8D8                 test    ebx, ebx
.text:1081B8DA                 jz      short loc_1081B927
.text:1081B8DC                 mov     eax, [ebp+var_234]
.text:1081B8E2                 or      eax, [ebp+var_230]
.text:1081B8E8                 jz      short loc_1081B927
.text:1081B8EA                 mov     edx, dword_11565448
.text:1081B8F0                 lea     ecx, [ebp+var_234]
.text:1081B8F6                 push    ecx
.text:1081B8F7                 push    4
.text:1081B8F9                 push    edx
.text:1081B8FA                 call    ds:CFNumberCreate
.text:1081B900                 mov     edi, eax
.text:1081B902                 add     esp, 0Ch
.text:1081B905                 test    edi, edi
.text:1081B907                 jz      short loc_1081B927
.text:1081B909                 push    edi
.text:1081B90A                 push    ebx
.text:1081B90B                 mov     ebx, [ebp+var_228]
.text:1081B911                 push    ebx
.text:1081B912                 call    ds:CFDictionarySetValue
.text:1081B918                 add     esp, 0Ch
.text:1081B91B                 push    edi
.text:1081B91C                 call    ds:CFRelease
.text:1081B922                 add     esp, 4
.text:1081B925                 jmp     short loc_1081B92D
.text:1081B927 ; ---------------------------------------------------------------------------
.text:1081B927
.text:1081B927 loc_1081B927:                           ; CODE XREF: LoginServer+1EAj
.text:1081B927                                         ; LoginServer+1F8j ...
.text:1081B927                 mov     ebx, [ebp+var_228]
.text:1081B92D
.text:1081B92D loc_1081B92D:                           ; CODE XREF: LoginServer+235j
.text:1081B92D                 mov     eax, [esi+0CBCh]
.text:1081B933                 test    eax, eax
.text:1081B935                 jz      short loc_1081B950
.text:1081B937                 mov     ecx, offset sub_103E2840
.text:1081B93C                 test    ecx, ecx
.text:1081B93E                 jz      short loc_1081B950
.text:1081B940                 push    ebx
.text:1081B941                 push    offset sub_103E2840
.text:1081B946                 push    eax
.text:1081B947                 call    ds:CFDictionaryApplyFunction
.text:1081B94D                 add     esp, 0Ch
.text:1081B950
.text:1081B950 loc_1081B950:                           ; CODE XREF: LoginServer+245j
.text:1081B950                                         ; LoginServer+24Ej
.text:1081B950                 mov     edi, ebx
.text:1081B952                 call    Getkey_machineName ; 119CFAE4   1081B957  返回到 iTunes_1.1081B957 来自 iTunes_1.1081AA60
.text:1081B952                                         ;
.text:1081B952                                         ;
.text:1081B957                 mov     eax, [esi+0CB4h]
.text:1081B95D                 cmp     eax, 1Ch
.text:1081B960                 jg      short loc_1081B9BC
.text:1081B962                 jz      short loc_1081B9B5
.text:1081B964                 add     eax, 0DDh
.text:1081B969                 cmp     eax, 0E4h
.text:1081B96E                 ja      loc_1081BA0F
.text:1081B974                 movzx   edx, ds:byte_1081BC3C[eax]
.text:1081B97B                 jmp     ds:off_1081BC24[edx*4]
.text:1081B982
.text:1081B982 loc_1081B982:                           ; DATA XREF: .text:off_1081BC24o
.text:1081B982                 push    offset aServerdialog ; "serverDialog"
.text:1081B987                 jmp     loc_1081BA14
.text:1081B98C ; ---------------------------------------------------------------------------
.text:1081B98C
.text:1081B98C loc_1081B98C:                           ; CODE XREF: LoginServer+28Bj
.text:1081B98C                                         ; DATA XREF: .text:1081BC28o
.text:1081B98C                 push    offset aSignin  ; "signIn"
.text:1081B991                 call    ds:__CFStringMakeConstantString
.text:1081B997                 mov     [ebp+var_221], 1
.text:1081B99E                 jmp     short loc_1081BA1A
.text:1081B9A0 ; ---------------------------------------------------------------------------
.text:1081B9A0
.text:1081B9A0 loc_1081B9A0:                           ; CODE XREF: LoginServer+28Bj
.text:1081B9A0                                         ; DATA XREF: .text:1081BC2Co
.text:1081B9A0                 push    offset aCheckDownloadQ ; "check-download-queue"
.text:1081B9A5                 jmp     short loc_1081BA14
.text:1081B9A7 ; ---------------------------------------------------------------------------
.text:1081B9A7
.text:1081B9A7 loc_1081B9A7:                           ; CODE XREF: LoginServer+28Bj
.text:1081B9A7                                         ; DATA XREF: .text:1081BC34o
.text:1081B9A7                 push    offset aCheckforpurcha ; "checkForPurchasedMusic"
.text:1081B9AC                 jmp     short loc_1081BA14
.text:1081B9AE ; ---------------------------------------------------------------------------
.text:1081B9AE
.text:1081B9AE loc_1081B9AE:                           ; CODE XREF: LoginServer+28Bj
.text:1081B9AE                                         ; DATA XREF: .text:1081BC30o
.text:1081B9AE                 push    offset aDownloadsUrl ; "downloads-url"
.text:1081B9B3                 jmp     short loc_1081BA14
.text:1081B9B5 ; ---------------------------------------------------------------------------
.text:1081B9B5
.text:1081B9B5 loc_1081B9B5:                           ; CODE XREF: LoginServer+272j
.text:1081B9B5                 push    offset aMachineauthori ; "machineAuthorize"
.text:1081B9BA                 jmp     short loc_1081BA14
.text:1081B9BC ; ---------------------------------------------------------------------------
.text:1081B9BC
.text:1081B9BC loc_1081B9BC:                           ; CODE XREF: LoginServer+270j
.text:1081B9BC                 sub     eax, 1Dh
.text:1081B9BF                 cmp     eax, 1Ah
.text:1081B9C2                 ja      short loc_1081BA0F
.text:1081B9C4                 movzx   eax, ds:byte_1081BD3C[eax]
.text:1081B9CB                 jmp     ds:off_1081BD24[eax*4]
.text:1081B9D2
.text:1081B9D2 loc_1081B9D2:                           ; DATA XREF: .text:1081BD34o
.text:1081B9D2                 push    offset aViewaccount ; "viewAccount"
.text:1081B9D7                 call    ds:__CFStringMakeConstantString
.text:1081B9DD                 mov     [ebp+var_221], 1
.text:1081B9E4                 jmp     short loc_1081BA1A
.text:1081B9E6 ; ---------------------------------------------------------------------------
.text:1081B9E6
.text:1081B9E6 loc_1081B9E6:                           ; CODE XREF: LoginServer+2DBj
.text:1081B9E6                                         ; DATA XREF: .text:1081BD28o
.text:1081B9E6                 push    offset aPurchase ; "purchase"
.text:1081B9EB                 jmp     short loc_1081BA14
.text:1081B9ED ; ---------------------------------------------------------------------------
.text:1081B9ED
.text:1081B9ED loc_1081B9ED:                           ; CODE XREF: LoginServer+2DBj
.text:1081B9ED                                         ; DATA XREF: .text:1081BD2Co
.text:1081B9ED                 push    offset aRedownload ; "redownload"
.text:1081B9F2                 jmp     short loc_1081BA14
.text:1081B9F4 ; ---------------------------------------------------------------------------
.text:1081B9F4
.text:1081B9F4 loc_1081B9F4:                           ; CODE XREF: LoginServer+2DBj
.text:1081B9F4                                         ; DATA XREF: .text:off_1081BD24o
.text:1081B9F4                 push    offset aMachinedeautho ; "machineDeauthorize"
.text:1081B9F9                 jmp     short loc_1081BA14
.text:1081B9FB ; ---------------------------------------------------------------------------
.text:1081B9FB
.text:1081B9FB loc_1081B9FB:                           ; CODE XREF: LoginServer+2DBj
.text:1081B9FB                                         ; DATA XREF: .text:1081BD30o
.text:1081B9FB                 push    offset aSetAutoDownloa ; "set-auto-download"
.text:1081BA00                 call    ds:__CFStringMakeConstantString
.text:1081BA06                 mov     [ebp+var_229], 1
.text:1081BA0D                 jmp     short loc_1081BA1A
.text:1081BA0F ; ---------------------------------------------------------------------------
.text:1081BA0F
.text:1081BA0F loc_1081BA0F:                           ; CODE XREF: LoginServer+27Ej
.text:1081BA0F                                         ; LoginServer+28Bj ...
.text:1081BA0F                 push    offset aUnknown_2 ; "unknown"
.text:1081BA14
.text:1081BA14 loc_1081BA14:                           ; CODE XREF: LoginServer+297j
.text:1081BA14                                         ; LoginServer+2B5j ...
.text:1081BA14                 call    ds:__CFStringMakeConstantString
.text:1081BA1A
.text:1081BA1A loc_1081BA1A:                           ; CODE XREF: LoginServer+2AEj
.text:1081BA1A                                         ; LoginServer+2F4j ...
.text:1081BA1A                 add     esp, 4
.text:1081BA1D                 push    offset aWhy     ; <key>why</key>
.text:1081BA1D                                         ; <string>signIn</string>
.text:1081BA22                 mov     edi, eax
.text:1081BA24                 call    ds:__CFStringMakeConstantString
.text:1081BA2A                 add     esp, 4
.text:1081BA2D                 test    eax, eax
.text:1081BA2F                 jz      short loc_1081BA41
.text:1081BA31                 test    edi, edi
.text:1081BA33                 jz      short loc_1081BA41
.text:1081BA35                 push    edi
.text:1081BA36                 push    eax
.text:1081BA37                 push    ebx
.text:1081BA38                 call    ds:CFDictionarySetValue
.text:1081BA3E                 add     esp, 0Ch
.text:1081BA41
.text:1081BA41 loc_1081BA41:                           ; CODE XREF: LoginServer+33Fj
.text:1081BA41                                         ; LoginServer+343j
.text:1081BA41                 cmp     [ebp+var_229], 0
.text:1081BA48                 jz      short loc_1081BAC0
.text:1081BA4A                 push    offset aKc      ; "kc"
.text:1081BA4F                 mov     [ebp+var_234], 1
.text:1081BA59                 mov     [ebp+var_230], 0
.text:1081BA63                 call    ds:__CFStringMakeConstantString
.text:1081BA69                 mov     ebx, eax
.text:1081BA6B                 add     esp, 4
.text:1081BA6E                 test    ebx, ebx
.text:1081BA70                 jz      short loc_1081BABA
.text:1081BA72                 mov     ecx, [ebp+var_234]
.text:1081BA78                 or      ecx, [ebp+var_230]
.text:1081BA7E                 jz      short loc_1081BABA
.text:1081BA80                 mov     eax, dword_11565448
.text:1081BA85                 lea     edx, [ebp+var_234]
.text:1081BA8B                 push    edx
.text:1081BA8C                 push    4
.text:1081BA8E                 push    eax
.text:1081BA8F                 call    ds:CFNumberCreate
.text:1081BA95                 mov     edi, eax
.text:1081BA97                 add     esp, 0Ch
.text:1081BA9A                 test    edi, edi
.text:1081BA9C                 jz      short loc_1081BABA
.text:1081BA9E                 mov     ecx, [ebp+var_228]
.text:1081BAA4                 push    edi
.text:1081BAA5                 push    ebx
.text:1081BAA6                 push    ecx
.text:1081BAA7                 call    ds:CFDictionarySetValue
.text:1081BAAD                 add     esp, 0Ch
.text:1081BAB0                 push    edi
.text:1081BAB1                 call    ds:CFRelease
.text:1081BAB7                 add     esp, 4
.text:1081BABA
.text:1081BABA loc_1081BABA:                           ; CODE XREF: LoginServer+380j
.text:1081BABA                                         ; LoginServer+38Ej ...
.text:1081BABA                 mov     ebx, [ebp+var_228]
.text:1081BAC0
.text:1081BAC0 loc_1081BAC0:                           ; CODE XREF: LoginServer+358j
.text:1081BAC0                 mov     edx, [esi+8]
.text:1081BAC3                 mov     eax, [esi+0Ch]
.text:1081BAC6                 xor     ecx, ecx
.text:1081BAC8                 mov     [ebp+var_220], edx
.text:1081BACE                 mov     [ebp+var_21C], eax
.text:1081BAD4                 mov     [ebp+var_218], cx
.text:1081BADB                 mov     [ebp+var_18], 100h
.text:1081BAE1                 mov     [ebp+var_16], cl
.text:1081BAE4
.text:1081BAE4 loc_1081BAE4:                           ; CODE XREF: LoginServer+48Ej
.text:1081BAE4                 cmp     [ebp+var_221], 0
.text:1081BAEB                 jz      short loc_1081BB1F
.text:1081BAED                 push    offset aTrue    ; "true"
.text:1081BAF2                 call    ds:__CFStringMakeConstantString
.text:1081BAF8                 add     esp, 4
.text:1081BAFB                 push    offset aCreatesession ; <key>createSession</key>
.text:1081BAFB                                         ; <string>true</string>
.text:1081BB00                 mov     edi, eax
.text:1081BB02                 call    ds:__CFStringMakeConstantString
.text:1081BB08                 add     esp, 4
.text:1081BB0B                 test    eax, eax
.text:1081BB0D                 jz      short loc_1081BB1F
.text:1081BB0F                 test    edi, edi
.text:1081BB11                 jz      short loc_1081BB1F
.text:1081BB13                 push    edi
.text:1081BB14                 push    eax
.text:1081BB15                 push    ebx
.text:1081BB16                 call    ds:CFDictionarySetValue
.text:1081BB1C                 add     esp, 0Ch
.text:1081BB1F
.text:1081BB1F loc_1081BB1F:                           ; CODE XREF: LoginServer+3FBj
.text:1081BB1F                                         ; LoginServer+41Dj ...
.text:1081BB1F                 mov     eax, [ebp+var_238]
.text:1081BB25                 mov     ecx, [ebp+var_244]
.text:1081BB2B                 push    8
.text:1081BB2D                 lea     edx, [ebp+var_240]
.text:1081BB33                 push    edx
.text:1081BB34                 push    3
.text:1081BB36                 push    eax
.text:1081BB37                 push    esi
.text:1081BB38                 push    ecx
.text:1081BB39                 mov     edx, ebx
.text:1081BB3B                 lea     ecx, [ebp+var_220]
.text:1081BB41                 call    HttpSendPak     ; <plist version="1.0">;  到这里这个协议已经组合好了,用Http发送。
.text:1081BB41                                         ; <dict>
.text:1081BB41                                         ; <key>appleId</key>
.text:1081BB41                                         ; <string>asdfasdf@asdf.com</string>
.text:1081BB41                                         ; <key>attempt</key>
.text:1081BB41                                         ; <integer>1</integer>
.text:1081BB41                                         ; <key>createSession</key>
.text:1081BB41                                         ; <string>true</string>
.text:1081BB41                                         ; <key>guid</key>
.text:1081BB41                                         ; <string>4AEF365B.CF847F94.08E11EF5.FDD88C5B.09DA8172.65FAFEFB.6A193139</string>
.text:1081BB41                                         ; <key>machineName</key>
.text:1081BB41                                         ; <string>2012-20130221HH</string>
.text:1081BB41                                         ; <key>password</key>
.text:1081BB41                                         ; <string>qweqweqwe</string>
.text:1081BB41                                         ; <key>why</key>
.text:1081BB41                                         ; <string>signIn</string>
.text:1081BB41                                         ; </dict>
.text:1081BB41                                         ; </plist>
.text:1081BB46                 mov     edi, eax
.text:1081BB48                 cmp     edi, 138Dh
.text:1081BB4E                 jnz     short loc_1081BB83
.text:1081BB50                 cmp     [ebp+var_221], 0
.text:1081BB57                 jnz     short loc_1081BBA8
.text:1081BB59                 mov     eax, [esi+8A8h]
.text:1081BB5F                 mov     [ebp+var_221], 1
.text:1081BB66                 test    eax, eax
.text:1081BB68                 jz      short loc_1081BB74
.text:1081BB6A                 push    eax
.text:1081BB6B                 call    ds:CFRelease
.text:1081BB71                 add     esp, 4
.text:1081BB74
.text:1081BB74 loc_1081BB74:                           ; CODE XREF: LoginServer+478j
.text:1081BB74                 mov     dword ptr [esi+8A8h], 0
.text:1081BB7E                 jmp     loc_1081BAE4
.text:1081BB83 ; ---------------------------------------------------------------------------
.text:1081BB83
.text:1081BB83 loc_1081BB83:                           ; CODE XREF: LoginServer+45Ej
.text:1081BB83                 test    edi, edi
.text:1081BB85                 jnz     short loc_1081BBA8
.text:1081BB87                 mov     eax, [ebp+var_240]
.text:1081BB8D                 test    eax, eax
.text:1081BB8F                 jz      short loc_1081BBA8
.text:1081BB91                 mov     eax, [eax+48h]
.text:1081BB94                 test    eax, eax
.text:1081BB96                 jz      short loc_1081BBA2
.text:1081BB98                 push    eax
.text:1081BB99                 call    ds:CFRetain
.text:1081BB9F                 add     esp, 4
.text:1081BBA2
.text:1081BBA2 loc_1081BBA2:                           ; CODE XREF: LoginServer+4A6j
.text:1081BBA2                 mov     [esi+0CC0h], eax
.text:1081BBA8
.text:1081BBA8 loc_1081BBA8:                           ; CODE XREF: LoginServer+467j
.text:1081BBA8                                         ; LoginServer+495j ...
.text:1081BBA8                 mov     ebx, [ebp+var_23C]
.text:1081BBAE
.text:1081BBAE loc_1081BBAE:                           ; CODE XREF: LoginServer+B2j
.text:1081BBAE                 mov     edx, [ebp+var_238]
.text:1081BBB4                 mov     esi, ds:CFRelease
.text:1081BBBA                 push    edx
.text:1081BBBB                 call    esi ; CFRelease
.text:1081BBBD                 mov     eax, [ebp+var_228]
.text:1081BBC3                 add     esp, 4
.text:1081BBC6                 test    eax, eax
.text:1081BBC8                 jz      short loc_1081BBD0
.text:1081BBCA                 push    eax
.text:1081BBCB                 call    esi ; CFRelease
.text:1081BBCD                 add     esp, 4
.text:1081BBD0
.text:1081BBD0 loc_1081BBD0:                           ; CODE XREF: LoginServer+85j
.text:1081BBD0                                         ; LoginServer+4D8j
.text:1081BBD0                 mov     [ebp+var_4], 0FFFFFFFFh
.text:1081BBD7                 test    ebx, ebx
.text:1081BBD9                 jz      short loc_1081BC05
.text:1081BBDB                 lea     eax, [ebx+4]
.text:1081BBDE                 or      ecx, 0FFFFFFFFh
.text:1081BBE1                 lock xadd [eax], ecx
.text:1081BBE5                 jnz     short loc_1081BC05
.text:1081BBE7                 mov     edx, [ebx]
.text:1081BBE9                 mov     eax, [edx+4]
.text:1081BBEC                 mov     ecx, ebx
.text:1081BBEE                 call    eax
.text:1081BBF0                 lea     ecx, [ebx+8]
.text:1081BBF3                 or      edx, 0FFFFFFFFh
.text:1081BBF6                 lock xadd [ecx], edx
.text:1081BBFA                 jnz     short loc_1081BC05
.text:1081BBFC                 mov     eax, [ebx]
.text:1081BBFE                 mov     edx, [eax+8]
.text:1081BC01                 mov     ecx, ebx
.text:1081BC03                 call    edx
.text:1081BC05
.text:1081BC05 loc_1081BC05:                           ; CODE XREF: LoginServer+4E9j
.text:1081BC05                                         ; LoginServer+4F5j ...
.text:1081BC05                 mov     eax, edi
.text:1081BC07                 mov     ecx, [ebp+var_C]
.text:1081BC0A                 mov     large fs:0, ecx
.text:1081BC11                 pop     ecx
.text:1081BC12                 pop     edi
.text:1081BC13                 pop     esi
.text:1081BC14                 pop     ebx
.text:1081BC15                 mov     ecx, [ebp+var_10]
.text:1081BC18                 xor     ecx, ebp
.text:1081BC1A                 call    sub_10DD46B3
.text:1081BC1F                 mov     esp, ebp
.text:1081BC21                 pop     ebp
.text:1081BC22                 retn
.text:1081BC22 LoginServer     endp

【关于iTunes.下载的通讯协议】
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
  <key>guid</key>
  <string>B0AAC223.90E7035E.5328E781.E0AD481B.14DF9387.8C26EAF9.6C7326D2</string>  //参数1.GUID
  <key>kbsync</key>
  <data>
  AAQAA3DvM5I0QawMtpWq5REJaqnMDsT06D9kgFkHi+kvAsFrHQBIkYSiR7TRY2+nlEQm        //参数2.kbsync_data,也是最关键的地方,参见:附录A
  TpY5WLMQEmPGV0UOiyrabJgRV8l0rHGnUKCeo2D2u+CC1M8QigYTl8tOHqmr5APgeHCd
  MBg+nsOtBmn12oLgZk0RXE5vf8HEh7u6qv2MWLYghtgqbCuGMVxlC0ERmL0MRs383wFS
  WI8fGO6FT8Bs7YswW1CVRd+R0fBDdmxbqwRV4XP2mmBq0CmAc2Vh4WNgGIey+xyDl/PA
  W4r7WayU8NpnsuQD0rfjlS+KIanE5X00vBCAkskknXneDIufCMpm0SJjnuD6Pa2+85uc
  oLk9X+O6QO/xmT435kuFysJkBVN8oFNM/V+ZNgVHRXJPxwN/ECtNDIb+j2CNimlhv9/h
  ihnL23RGi70+faJ7KQLt+I5TLcl+hp+texepbXvWN5Y8kP+o3IUrK6pjp1B4M6WfuFxlG
  rE3VhVlEr0vOTmwQNhzOHFSaGQkqh4JsTIBDAuGLyWdqcw8KI6RNM27anAtgIz0K47AT
  azcDt01LOqmCy4RY12qSCEy+lP2/i2tFtAWRP2AibHC6czi4VxuZ15FDJsVewgLfCy/I
  7+6/DJmW0rRv7MukLDvmOq6u5Oco6uwn7uIHQOVd+U3hDnf8Q/KFXmQr7JJST6W3bJEt
  t0cQF7k708lLZkuT8dkydnAB7Xor8nugEefOxk9IQ2Af6gLpoBmNRoxtrTHv9kNqbTcY
  ojmH0wTOGeWLW6Ob18YAVB0GH6lEJBZGbHDky6ccRpe9g/WvZnsgxFQ6H+C19Icqxx7T
  eo62t5Ne33oQFK/buvW/Dfb4QaDXaiXvubKtpQphtOR0hnO7U6+36QyV+T9ZAJeB6r+T
  lnq5G/gvhsNYNewhWnqLiwonFoflM6huEW0/3HhPikQw/8gC/Gtrj4s170E0TBqNLR6m
  Nxypm1M9Gjg2vgk/c/qWX8xhFurbKWyNEgYmZ8eoL1rAcLaXZUaeh13m
  </data>
  <key>machineName</key>
  <string>FSDGFF</string>    //参数3. 机器码
  <key>needDiv</key>
  <string>1</string>
  <key>origPage</key>
  <string>Genre-CN-Mobile Software Applications-36-iphone</string>
  <key>origPage2</key>
  <string>Genre-CN-Mobile Software Applications-36-iphone</string>
  <key>origPageCh</key>
  <string>Mobile Software Applications-main</string>
  <key>origPageCh2</key>
  <string>Mobile Software Applications-main</string>
  <key>origPageLocation</key>
  <string>Titledbox_排行榜|Listbox_免费 App|Lockup_2|Buy</string>
  <key>price</key>
  <string>0</string>
  <key>pricingParameters</key>
  <string>STDQ</string>
  <key>productType</key>
  <string>C</string>
  <key>salableAdamId</key>
  <string>510886627</string>
</dict>
</plist>

【附录A--kbsync的加密call的分析】
空间: iTunes.dll

.text:1081D22A                 mov     esi, [ebp+var_8]
.text:1081D22D                 mov     edi, [ebp+var_4]
.text:1081D230                 push    offset aKbsync  ; "kbsync"        //搜索关键字
.text:1081D235                 call    ds:__CFStringMakeConstantString
.text:1081D23B                 add     esp, 4
.text:1081D23E                 cmp     [ebp+arg_0], 0
.text:1081D242                 mov     ebx, eax
.text:1081D244                 jz      short loc_1081D280
.text:1081D246                 test    ebx, ebx
.text:1081D248                 jz      short loc_1081D280
.text:1081D24A                 test    edi, edi
.text:1081D24C                 jnz     short loc_1081D252
.text:1081D24E                 test    esi, esi
.text:1081D250                 jnz     short loc_1081D280
.text:1081D252
.text:1081D252 loc_1081D252:                           ; CODE XREF: sub_1081D1F0+5Cj
.text:1081D252                 mov     edx, dword_11565448
.text:1081D258                 push    esi
.text:1081D259                 push    edi
.text:1081D25A                 push    edx
.text:1081D25B                 call    ds:CFDataCreate        //实例化 kbsync.data
.text:1081D261                 mov     esi, eax
.text:1081D263                 add     esp, 0Ch
.text:1081D266                 test    esi, esi
.text:1081D268                 jz      short loc_1081D280
.text:1081D26A                 mov     eax, [ebp+arg_0]
.text:1081D26D                 push    esi
.text:1081D26E                 push    ebx
.text:1081D26F                 push    eax
.text:1081D270                 call    ds:CFDictionarySetValue
.text:1081D276                 push    esi
.text:1081D277                 call    ds:CFRelease
.text:1081D27D                 add     esp, 10h
.text:1081D280
.text:1081D280 loc_1081D280:                           ; CODE XREF: sub_1081D1F0+54j
.text:1081D280                                         ; sub_1081D1F0+58j ...
.text:1081D280                 mov     ecx, [ebp+var_4]
.text:1081D283                 push    ecx
.text:1081D284                 call    Encrypt_kbsync    //对 kbsync.data 加密处理
.text:1081D289                 add     esp, 4
.text:1081D28C                 xor     eax, eax
.text:1081D28E
.text:1081D28E loc_1081D28E:                           ; CODE XREF: sub_1081D1F0+38j
.text:1081D28E                 pop     edi
.text:1081D28F                 pop     esi
.text:1081D290                 pop     ebx
.text:1081D291                 mov     esp, ebp
.text:1081D293                 pop     ebp
.text:1081D294                 retn


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (56)
雪    币: 42
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
额 好强大的样子,膜拜
2013-4-15 19:06
0
雪    币: 1839
活跃值: (295)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
3
追加。。。。。。。。。。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE plistPUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>signature</key>
<data>O7lDeE9jznKBuZCeb3WsJF4PL7+szCsuraoq01tNNsWfVsT9HtnSyqpV44PinBI78mwKnIfVqB6Z3JaoOYU6DcMjK80kEfSOdy8XuK8jvUOn7jiBKn69LY9oQdB3rCOtfr7JIjG9fNjquoUyolcIadbZJ+PIID5VwMNbIbl0Ito=
</data>
<key>certs</key>
<array><data>MIIDRjCCAi6gAwIBAgIBAjANBgkqhkiG9w0BAQUFADB+MRMwEQYDVQQKEwpBcHBsZSBJbmMuMRUwEwYDVQQLEwxpVHVuZXMgU3RvcmUxGjAYBgNVBAMTEWlUdW5lcyBTdG9yZSBSb290
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTESMBAGA1UEBxMJQ3VwZXJ0aW5vMB4XDTExMDYwNjIyMTkxOFoXDTEzMDYwNTIyMTkxOFowgYExEzARBgNVBAoTCkFwcGxlIEluYy4xFTATBgNVBAsT
DGlUdW5lcyBTdG9yZTEdMBsGA1UEAxMUaVR1bmVzIFN0b3JlIFVSTCBCYWcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQHEwlDdXBlcnRpbm8wgZ8wDQYJKoZIhvcNAQEBBQADgY0A
MIGJAoGBALucax5drB+v1stVZDaqk/kyW1zcZ9Va8lKAXzsDXpkt4gvzhSJX1bQ3Z6qNMhbVT1nvkDHONGsnCyqOkRfI6Py19gRAoQO3XtfAqrZ5Sh7Spxsznm8GCUBBNRtSUzYa+StvwOWiXdPX3D9X5dZTetat
psLL5t5FeedaAW7Baan7AgMBAAGjTzBNMB0GA1UdDgQWBBTI704/Bfpw+vAHyPMVdbk/gT3xpjAfBgNVHSMEGDAWgBSw2uF/qItKaoFdDKGEVkYeau/lzzALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQEFBQADggEB
AIF7O5xNidy+EE3/skB0Erwy0358vboeowqkSPYzYaNWhK2UCyUiERN61hkaZFFIDqjchND3h7y67kJDCyGviRzRlFiMAEb56rKFzAwlT5w1btOoQjbKgl5MnqYIC9GtUWKC5gH4Qx6lgmIR90qQ/7gEykivZ/Ik
IvYpXHCYvOStEPqN//u1oiAAVmJpmMN1MHCrhJeZebtMu8zgS9i1rv/e+YaxQJcdJ5COg0GD8i5RI3VCCWqRGl3aGvLx5TzzetnQlRvglnfzsSuXR7gB6oENnOjPGnarccN1qdwPCd8lw+hxfzG8/2LWLUooH2tW
XC1Qi9dU9yxCgjgTwzmol3I=</data>.  </array>.  
<key>bag</key><data>PD94bWwgdmVyc2lvbj0iM

.text:10818DB5                 cmp     byte_1149AC79, 0
.text:10818DBC                 jz      loc_10818F88
.text:10818DC2                 push    offset aSignature_0 ; "signature"
.text:10818DC7                 call    ds:__CFStringMakeConstantString
.text:10818DCD                 add     esp, 4
.text:10818DD0                 mov     ecx, esi
.text:10818DD2                 call    GetCFsignatureData
.text:10818DD7                 push    offset aCerts   ; "certs"
.text:10818DDC                 mov     [esp+0F4h+var_E0], eax
.text:10818DE0                 call    ds:__CFStringMakeConstantString
.text:10818DE6                 add     esp, 4
.text:10818DE9                 mov     ecx, esi
.text:10818DEB                 call    GetCFArrayDataByValueID
2013-4-15 19:32
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
"今天没事就看看"

原来是一天就搞定..不得不膜拜...
2013-4-15 19:50
0
雪    币: 195
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
老大烦请提示一下,这段和加密那段有什么关系
2013-4-22 22:13
0
雪    币: 190
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
楼主,你不是一般的强大啊,顶贴
2013-4-24 11:50
0
雪    币: 190
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
酱油锅,好久不见,你灌水都灌了700多贴了,向你看齐啊
2013-4-24 11:52
0
雪    币: 141
活跃值: (318)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
很是强大,表示要努力学习了
2013-4-24 14:24
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
你才300啊.加油啊...
2013-4-25 10:05
0
雪    币: 1839
活跃值: (295)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
10
iTunes下载过程的关键协议(其他协议可以不理):
  登入-->切换App列表显示 --> 下载.

我原本以为,一个登录,一个下载协议就够了,后来发现不够,就有了“追加”的那个部分了。

另外:
1,iTunes的协议是XML格式的。
2,通讯采用CFNetWork。  

bp send的时候会发现数据是加密了的。对于逆向来说,无需管他用了多么高深的加密算法,我只需要知道入口在哪里,输出在哪里,调用是了。
2013-4-25 11:32
0
雪    币: 195
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
ssss
2013-4-26 13:37
0
雪    币: 1839
活跃值: (295)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
12
补充。。。。。。。。。
下载一个app的几条协议。
Send>
                productType=C&
                price=0&
                salableAdamId=566986865&
                pricingParameters=STDQ&
                appExtVrsId=13026492&
                origPage=Search-CN&
                origPageCh=Media%20Search%20Pages&
                origPageLocation=Tab_allResults1%7CSwoosh_1%7CLockup_7%7CBuy&
                origPage2=Genre-CN-Mobile%20Software%20Applications-29099&
                origPageCh2=Mobile%20Software%20Applications-main&
                origPageSearch=B%7Cdog%7C566986865(15A)
      
Send>
                http://ax.init.itunes.apple.com./bag.xml?ix=4&
                dsid=1773730849&
                ign-bsn=2(47)

Send>AwIAAAECAAGtsgAAAABRi0NMTZsdXAIGdIA2stQZC/Ii5zhZGS8=(34)
Send>AwIAAAECAAGtsgAAAABRi0NRoqi/FVxbvxdJ+PMNYKk0Hpz6qiI=(34)

Send>
                https://securemetrics.apple.com/b/ss/applesuperglobal/1/G.6--NS?cc=CNY&
                pccr=true&
                c22=XML&
                products=%3B11%3B1%3B0.00&
                ch=Purchase&
                c15=Search-CN&
                c16=Media%20Search%20Pages&
                cl=15778463&
                c19=B%7Cdog%7C566986865&
                h5=appleitmswww%2Cappleitmscn&
                c27=Mobile%20Software%20Applications-main&
                pageName=Buy&
                v15=Search-CN&
                v22=XML&
                v26=Genre-CN-Mobile%20Software%20Applications-29099&
                v27=Mobile%20Software%20Applications-main&
                events=purchase&
                c26=Genre-CN-Mobile%20Software%20Applications-29099&
                v16=Media%20Search%20Pages&
                purchaseID=99001021364083&
                v19=B%7Cdog%7C566986865(225)
2013-5-10 14:02
0
雪    币: 195
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
搞定了,成功计算kbsync
2013-5-18 17:45
0
雪    币: 90
活跃值: (91)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
潜力贴留名,Opera插图补丁,颜色补丁,字数补丁,哦类类,哦啦啦,886,我闪~~
2013-5-18 19:32
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
15
itunes 登录协议 破解 网络通信
2013-5-18 20:21
0
雪    币: 212
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
请问动态分析的时候OD载入itunes后F9按两次就会终止有什么办法么?已经忽略所有异常也把最近异常都添加了依然是会终止,想在动态情况下分析参数信息!
--------------------------------------------------------------------------------------------------------
已经找到原因~!
2013-6-23 00:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
请问appExtVrsId怎么获得?就差这个appExtVrsId就能刷了。呵呵
2013-6-26 18:53
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
楼主大神,膜拜一下
2013-7-21 22:06
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
这都行,看来楼主苹果用的很流畅啊
2013-7-22 09:41
0
雪    币: 1933
活跃值: (44)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
不错的,借鉴下
2013-7-22 10:01
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
itunes 登录和下载 不难  难在于像快用 吧itunes登录协议写入设备
2013-7-22 13:56
0
雪    币: 210
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
不错,慢慢看
2013-7-23 09:07
0
雪    币: 86
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
顶礼膜拜啊,小弟道甚远。
2013-7-23 10:17
0
雪    币: 680
活跃值: (68)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
24
前来膜拜
2013-7-23 10:32
0
雪    币: 114
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
的确不难  附带一说 :
第一个看上去很像guid的其实不是guid 而是你的机器信息相关信息
第二是http重定位的问题... it在登陆的时候是会根据所谓的"guid"来判断你的登陆区域从而给你分配一个更快的连接地址滴 然后通过"guid"可以很轻松判定是不是一台机器登陆多个账号.
第三就是那个kbsync的生成~  其实加密算法里面用到了全局变量, 前面还有一个生成该全局变量的地儿...具体记不清了..==# 发现忘了好多 还有好些细节想不起来了
2013-7-25 20:40
0
游客
登录 | 注册 方可回帖
返回
//