data3000
19.02.2009, 03:17
Вообщем первым шагом устанавливается tcp соединение с 85.192.47.44 Destination port: 1973
Отправляем пакет с пустым содержанием получаем ответ вида:
00 1F-80 00 00 00 03 AC 00 15
..?....¬..
5B 30 32 2D 31 38 20 32-31 3A 31 30 3A 34 38 3A
[02-18 21:10:48:
34 36 31 5D 00
461].
на этот ответ клиет отправляет
00 54-80 00 00 00 01 AF 00 07
.T?....¯..
6E 6F 62 69 6C 6C 00 00-09 64 61 74 61 33 30 30
nobill...data300
31 00 00 18 B1 DD 38 E6-43 6B 90 9B 27 EF CA 4C
1...±Ý8æCk�›'ïÊL
98 29 B4 09 47 57 F6 33-D5 16 0E 24 00 18 30 30
˜)´.GWö3Õ..$..00
2D 44 30 2D 44 37 2D 30-46 2D 36 41 2D 34 33 2D
-D0-D7-0F-6A-43-
30 30 2D 30 30 00 03 8F-00 88
00-00..�.ˆ
т.е идет nobill...ИМЯ......ХЭШ
хэш похоже идет 24 байтный, меняется при изменении логина, пароля, даты.
вок кусок процедуры из клиента:
.text:0041C7D9 ; sub_41BF40+6DAj ...
.text:0041C7D9 68 B8+ push offset aNetlogin ; "netlogin"
.text:0041C7DE 8D 45+ lea eax, [ebp+var_4C]
.text:0041C7E1 50 push eax
.text:0041C7E2 E8 39+ call sub_404A20
.text:0041C7E7 83 C4+ add esp, 8
.text:0041C7EA 84 C0 test al, al
.text:0041C7EC 74 2F jz short loc_41C81D
.text:0041C7EE B8 10+ mov eax, 10h
.text:0041C7F3 39 45+ cmp [ebp+var_6C], eax
.text:0041C7F6 8B 4D+ mov ecx, [ebp+var_80]
.text:0041C7F9 73 03 jnb short loc_41C7FE
.text:0041C7FB 8D 4D+ lea ecx, [ebp+var_80]
.text:0041C7FE
.text:0041C7FE loc_41C7FE: ; CODE XREF: sub_41BF40+8B9j
.text:0041C7FE 39 45+ cmp [ebp+var_18], eax
.text:0041C801 8B 45+ mov eax, dword ptr [ebp+var_2C]
.text:0041C804 73 03 jnb short loc_41C809
.text:0041C806 8D 45+ lea eax, [ebp+var_2C]
.text:0041C809
.text:0041C809 loc_41C809: ; CODE XREF: sub_41BF40+8C4j
.text:0041C809 68 B0+ push offset aNobill ; "nobill"
.text:0041C80E 51 push ecx
.text:0041C80F 50 push eax
.text:0041C810 E8 AB+ call sub_5077C0
.text:0041C815 83 C4+ add esp, 0Ch
.text:0041C818 E9 CE+ jmp loc_41F3EB
.text:005077C0 sub_5077C0 proc near ; CODE XREF: sub_41BF40+8D0p
.text:005077C0 ; sub_4C4D50+5Ep ...
.text:005077C0
.text:005077C0 arg_0 = dword ptr 4
.text:005077C0 arg_4 = dword ptr 8
.text:005077C0 arg_8 = dword ptr 0Ch
.text:005077C0
.text:005077C0 8B 44+ mov eax, [esp+arg_8]
.text:005077C4 8B 4C+ mov ecx, [esp+arg_4]
.text:005077C8 8B 54+ mov edx, [esp+arg_0]
.text:005077CC 50 push eax
.text:005077CD A1 08+ mov eax, dword_6C2508
.text:005077D2 51 push ecx
.text:005077D3 8B 88+ mov ecx, [eax+324h]
.text:005077D9 52 push edx
.text:005077DA E8 C1+ call sub_51A5A0
.text:005077DF C3 retn
.text:005077DF sub_5077C0 endp
.text:0051A5A0 sub_51A5A0 proc near ; CODE XREF: sub_5077C0+1Ap
.text:0051A5A0
.text:0051A5A0 hostshort = word ptr -4E0h
.text:0051A5A0 var_4DC = dword ptr -4DCh
.text:0051A5A0 var_4A4 = dword ptr -4A4h
.text:0051A5A0 var_4A0 = dword ptr -4A0h
.text:0051A5A0 var_490 = dword ptr -490h
.text:0051A5A0 var_48C = dword ptr -48Ch
.text:0051A5A0 var_488 = dword ptr -488h
.text:0051A5A0 var_410 = dword ptr -410h
.text:0051A5A0 var_10 = dword ptr -10h
.text:0051A5A0 var_C = dword ptr -0Ch
.text:0051A5A0 var_4 = dword ptr -4
.text:0051A5A0 arg_0 = dword ptr 4
.text:0051A5A0 arg_4 = dword ptr 8
.text:0051A5A0 arg_8 = dword ptr 0Ch
.text:0051A5A0
.text:0051A5A0 6A FF push 0FFFFFFFFh
.text:0051A5A2 68 CC+ push offset loc_5F6FCC
.text:0051A5A7 64 A1+ mov eax, large fs:0
.text:0051A5AD 50 push eax
.text:0051A5AE 64 89+ mov large fs:0, esp
.text:0051A5B5 81 EC+ sub esp, 4D4h
.text:0051A5BB A1 44+ mov eax, dword_65F044
.text:0051A5C0 8B 15+ mov edx, dword_6C2508
.text:0051A5C6 55 push ebp
.text:0051A5C7 56 push esi
.text:0051A5C8 57 push edi
.text:0051A5C9 8B BC+ mov edi, [esp+4ECh+arg_0]
.text:0051A5D0 8B E9 mov ebp, ecx
.text:0051A5D2 89 84+ mov [esp+4ECh+var_10], eax
.text:0051A5D9 8B CF mov ecx, edi
.text:0051A5DB 81 C2+ add edx, 3ACh
.text:0051A5E1
.text:0051A5E1 loc_51A5E1: ; CODE XREF: sub_51A5A0+49j
.text:0051A5E1 8A 01 mov al, [ecx]
.text:0051A5E3 41 inc ecx
.text:0051A5E4 88 02 mov [edx], al
.text:0051A5E6 42 inc edx
.text:0051A5E7 84 C0 test al, al
.text:0051A5E9 75 F6 jnz short loc_51A5E1
.text:0051A5EB 8B B4+ mov esi, [esp+4ECh+arg_4]
.text:0051A5F2 8B 15+ mov edx, dword_6C2508
.text:0051A5F8 8B CE mov ecx, esi
.text:0051A5FA 81 C2+ add edx, 410h
.text:0051A600
.text:0051A600 loc_51A600: ; CODE XREF: sub_51A5A0+68j
.text:0051A600 8A 01 mov al, [ecx]
.text:0051A602 41 inc ecx
.text:0051A603 88 02 mov [edx], al
.text:0051A605 42 inc edx
.text:0051A606 84 C0 test al, al
.text:0051A608 75 F6 jnz short loc_51A600
.text:0051A60A 56 push esi ; char *
.text:0051A60B 57 push edi ; int
имеется и клиентская часть и серверная часть (без исходников конечно),
вот всё пытаюсь самостоятельно сгенерировать этот ХЭШ но всё никак не могу найти где он генерируется в клиете, если кто может подскажите чем можите :confused: где дальше копать
Отправляем пакет с пустым содержанием получаем ответ вида:
00 1F-80 00 00 00 03 AC 00 15
..?....¬..
5B 30 32 2D 31 38 20 32-31 3A 31 30 3A 34 38 3A
[02-18 21:10:48:
34 36 31 5D 00
461].
на этот ответ клиет отправляет
00 54-80 00 00 00 01 AF 00 07
.T?....¯..
6E 6F 62 69 6C 6C 00 00-09 64 61 74 61 33 30 30
nobill...data300
31 00 00 18 B1 DD 38 E6-43 6B 90 9B 27 EF CA 4C
1...±Ý8æCk�›'ïÊL
98 29 B4 09 47 57 F6 33-D5 16 0E 24 00 18 30 30
˜)´.GWö3Õ..$..00
2D 44 30 2D 44 37 2D 30-46 2D 36 41 2D 34 33 2D
-D0-D7-0F-6A-43-
30 30 2D 30 30 00 03 8F-00 88
00-00..�.ˆ
т.е идет nobill...ИМЯ......ХЭШ
хэш похоже идет 24 байтный, меняется при изменении логина, пароля, даты.
вок кусок процедуры из клиента:
.text:0041C7D9 ; sub_41BF40+6DAj ...
.text:0041C7D9 68 B8+ push offset aNetlogin ; "netlogin"
.text:0041C7DE 8D 45+ lea eax, [ebp+var_4C]
.text:0041C7E1 50 push eax
.text:0041C7E2 E8 39+ call sub_404A20
.text:0041C7E7 83 C4+ add esp, 8
.text:0041C7EA 84 C0 test al, al
.text:0041C7EC 74 2F jz short loc_41C81D
.text:0041C7EE B8 10+ mov eax, 10h
.text:0041C7F3 39 45+ cmp [ebp+var_6C], eax
.text:0041C7F6 8B 4D+ mov ecx, [ebp+var_80]
.text:0041C7F9 73 03 jnb short loc_41C7FE
.text:0041C7FB 8D 4D+ lea ecx, [ebp+var_80]
.text:0041C7FE
.text:0041C7FE loc_41C7FE: ; CODE XREF: sub_41BF40+8B9j
.text:0041C7FE 39 45+ cmp [ebp+var_18], eax
.text:0041C801 8B 45+ mov eax, dword ptr [ebp+var_2C]
.text:0041C804 73 03 jnb short loc_41C809
.text:0041C806 8D 45+ lea eax, [ebp+var_2C]
.text:0041C809
.text:0041C809 loc_41C809: ; CODE XREF: sub_41BF40+8C4j
.text:0041C809 68 B0+ push offset aNobill ; "nobill"
.text:0041C80E 51 push ecx
.text:0041C80F 50 push eax
.text:0041C810 E8 AB+ call sub_5077C0
.text:0041C815 83 C4+ add esp, 0Ch
.text:0041C818 E9 CE+ jmp loc_41F3EB
.text:005077C0 sub_5077C0 proc near ; CODE XREF: sub_41BF40+8D0p
.text:005077C0 ; sub_4C4D50+5Ep ...
.text:005077C0
.text:005077C0 arg_0 = dword ptr 4
.text:005077C0 arg_4 = dword ptr 8
.text:005077C0 arg_8 = dword ptr 0Ch
.text:005077C0
.text:005077C0 8B 44+ mov eax, [esp+arg_8]
.text:005077C4 8B 4C+ mov ecx, [esp+arg_4]
.text:005077C8 8B 54+ mov edx, [esp+arg_0]
.text:005077CC 50 push eax
.text:005077CD A1 08+ mov eax, dword_6C2508
.text:005077D2 51 push ecx
.text:005077D3 8B 88+ mov ecx, [eax+324h]
.text:005077D9 52 push edx
.text:005077DA E8 C1+ call sub_51A5A0
.text:005077DF C3 retn
.text:005077DF sub_5077C0 endp
.text:0051A5A0 sub_51A5A0 proc near ; CODE XREF: sub_5077C0+1Ap
.text:0051A5A0
.text:0051A5A0 hostshort = word ptr -4E0h
.text:0051A5A0 var_4DC = dword ptr -4DCh
.text:0051A5A0 var_4A4 = dword ptr -4A4h
.text:0051A5A0 var_4A0 = dword ptr -4A0h
.text:0051A5A0 var_490 = dword ptr -490h
.text:0051A5A0 var_48C = dword ptr -48Ch
.text:0051A5A0 var_488 = dword ptr -488h
.text:0051A5A0 var_410 = dword ptr -410h
.text:0051A5A0 var_10 = dword ptr -10h
.text:0051A5A0 var_C = dword ptr -0Ch
.text:0051A5A0 var_4 = dword ptr -4
.text:0051A5A0 arg_0 = dword ptr 4
.text:0051A5A0 arg_4 = dword ptr 8
.text:0051A5A0 arg_8 = dword ptr 0Ch
.text:0051A5A0
.text:0051A5A0 6A FF push 0FFFFFFFFh
.text:0051A5A2 68 CC+ push offset loc_5F6FCC
.text:0051A5A7 64 A1+ mov eax, large fs:0
.text:0051A5AD 50 push eax
.text:0051A5AE 64 89+ mov large fs:0, esp
.text:0051A5B5 81 EC+ sub esp, 4D4h
.text:0051A5BB A1 44+ mov eax, dword_65F044
.text:0051A5C0 8B 15+ mov edx, dword_6C2508
.text:0051A5C6 55 push ebp
.text:0051A5C7 56 push esi
.text:0051A5C8 57 push edi
.text:0051A5C9 8B BC+ mov edi, [esp+4ECh+arg_0]
.text:0051A5D0 8B E9 mov ebp, ecx
.text:0051A5D2 89 84+ mov [esp+4ECh+var_10], eax
.text:0051A5D9 8B CF mov ecx, edi
.text:0051A5DB 81 C2+ add edx, 3ACh
.text:0051A5E1
.text:0051A5E1 loc_51A5E1: ; CODE XREF: sub_51A5A0+49j
.text:0051A5E1 8A 01 mov al, [ecx]
.text:0051A5E3 41 inc ecx
.text:0051A5E4 88 02 mov [edx], al
.text:0051A5E6 42 inc edx
.text:0051A5E7 84 C0 test al, al
.text:0051A5E9 75 F6 jnz short loc_51A5E1
.text:0051A5EB 8B B4+ mov esi, [esp+4ECh+arg_4]
.text:0051A5F2 8B 15+ mov edx, dword_6C2508
.text:0051A5F8 8B CE mov ecx, esi
.text:0051A5FA 81 C2+ add edx, 410h
.text:0051A600
.text:0051A600 loc_51A600: ; CODE XREF: sub_51A5A0+68j
.text:0051A600 8A 01 mov al, [ecx]
.text:0051A602 41 inc ecx
.text:0051A603 88 02 mov [edx], al
.text:0051A605 42 inc edx
.text:0051A606 84 C0 test al, al
.text:0051A608 75 F6 jnz short loc_51A600
.text:0051A60A 56 push esi ; char *
.text:0051A60B 57 push edi ; int
имеется и клиентская часть и серверная часть (без исходников конечно),
вот всё пытаюсь самостоятельно сгенерировать этот ХЭШ но всё никак не могу найти где он генерируется в клиете, если кто может подскажите чем можите :confused: где дальше копать