Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2011, 00:34   #1
FanRa3
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 92
По умолчанию zLib

Всем привет
Мне приходит пакет с zLib сжатием. как его можно разжать, если он без заголовка? или заголовок всё же гдето присутствует?
вот пакеты:

#1 HEX RECV
Код:
 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D 0A 44 61 74 65 3A 20 54 68 75 2C 20 32 34 20 4D 61 72 20 32 30 31 31 20 31 32 3A 30
 38 3A 31 38 20 47 4D 54 0D 0A 53 65 72 76 65 72 3A 20 41 70 61 63 68 65 2F 32 2E 30 2E 36 33 20 28 46 72 65 65 42 53 44 29 20 50 48
 50 2F 35 2E 32 2E 31 32 0D 0A 58 2D 50 6F 77 65 72 65 64 2D 42 79 3A 20 50 48 50 2F 35 2E 32 2E 31 32 0D 0A 53 65 74 2D 43 6F 6F 6B
 69 65 3A 20 50 48 50 53 45 53 53 49 44 3D 39 68 71 72 64 33 6E 35 63 66 35 6C 6A 35 74 30 64 6C 6E 74 6E 6E 72 37 38 36 3B 20 70 61
 74 68 3D 2F 0D 0A 45 78 70 69 72 65 73 3A 20 54 68 75 2C 20 31 39 20 4E 6F 76 20 31 39 38 31 20 30 38 3A 35 32 3A 30 30 20 47 4D 54
 0D 0A 43 61 63 68 65 2D 43 6F 6E 74 72 6F 6C 3A 20 6E 6F 2D 73 74 6F 72 65 2C 20 6E 6F 2D 63 61 63 68 65 2C 20 6D 75 73 74 2D 72 65
 76 61 6C 69 64 61 74 65 2C 20 70 6F 73 74 2D 63 68 65 63 6B 3D 30 2C 20 70 72 65 2D 63 68 65 63 6B 3D 30 0D 0A 50 72 61 67 6D 61 3A
 20 6E 6F 2D 63 61 63 68 65 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74 68 3A 20 31 31 34 0D 0A 4B 65 65 70 2D 41 6C 69 76 65 3A 20
 74 69 6D 65 6F 75 74 3D 31 35 2C 20 6D 61 78 3D 31 30 30 0D 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 4B 65 65 70 2D 41 6C 69 76 65 0D
 0A 43 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 74 65 78 74 2F 68 74 6D 6C 0D 0A 0D 0A 1F 8B 08 00 00 00 00 00 00 00 5B F3 96 81 B5 B8
 88 41 24 2B B1 2C 51 2F 2F B5 44 CF 13 48 38 A6 A4 14 A5 16 17 EB CE 0E 5F 3F FF F1 EB DB 4C 0C CC 9E 0C EC 89 10 41 4F 06 B6 B4 C4
 DC CC 9C 4A 1F 06 8E 8C FC E2 12 BF C4 DC D4 12 06 21 1F 90 01 FA 39 89 79 E9 FA C1 25 45 99 79 E9 D6 15 05 76 33 AC 2D 19 18 18 98
 0A 00 0B 02 78 21 65 00 00 00
#2 HEX SEND
Код:
79 48 48 4A 54 51 45 56 73 52 5F 71 68 74 30 52 75 6B 6C 4D 64 2D 74 67 53 58 4E 58 35 72 67 5A 32 43 6E 57 70 41 72 34 5A 30 4F 41 32 49 56 52 0D 0A
#3 SEND
Код:
6D 34 7A 6F 75 75 37 59 31 4B 6B 6A 4B 78 55 46 0D 0A
#4 SEND
Код:
5F 64 4E 76 6D 42 49 32 48 65 6B 3D 0D 0A
Интересуют последние 3 пакета. как их можно разжать? у них нет заголовка. и сжаты ли они с помощью zLib?

Заранее благодарен

Последний раз редактировалось FanRa3; 26.03.2011 в 00:41.
FanRa3 вне форума Ответить с цитированием
Старый 26.03.2011, 12:58   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

в первом пакете после хттп заголовка:

Цитата:
HTTP/1.1 200 OK
Date: Thu, 24 Mar 2011 12:08:18 GMT
Server: Apache/2.0.63 (FreeBSD) PHP/5.2.12
X-Powered-By: PHP/5.2.12
Set-Cookie: PHPSESSID=9hqrd3n5cf5lj5t0dlntnnr78 6; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 114
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html
идёт нечто, похожее на gzip, которое после декопрессии даёт такое:
Код:
0000000000: AC ED 00 05 73 72 00 14 │ 6A 61 76 61 2E 6E 65 74  ¬н ♣sr ¶java.net
0000000010: 2E 49 6E 65 74 41 64 64 │ 72 65 73 73 2D 9B 57 AF  .InetAddress-›WЇ
0000000020: 9F E3 EB DB 02 00 03 49 │ 00 07 61 64 64 72 65 73  џглЫ☻ ♥I •addres
0000000030: 73 49 00 06 66 61 6D 69 │ 6C 79 4C 00 08 68 6F 73  sI ♠familyL ◘hos
0000000040: 74 4E 61 6D 65 74 00 12 │ 4C 6A 61 76 61 2F 6C 61  tNamet ↕Ljava/la
0000000050: 6E 67 2F 53 74 72 69 6E │ 67 3B 78 70 3E 98 3B 39  ng/String;xp>˜;9
0000000060: 00 00 00 02 70          │                             ☻p
последние 3 пакета к zip, вероятно, отношения не имеют, т.к. это просто символы, похожие на base64:

Цитата:
2) yHHJTQEVsR_qht0RuklMd-tgSXNX5rgZ2CnWpAr4Z0OA2IVR

3) m4zouu7Y1KkjKxUF

4) _dNvmBI2Hek=
Но это не чистый base64, только третий пакет подходит под base64 как есть. Если попробовать пакет его из base64 переверсти в бинарную форму, получаем:

Код:
0000000000: 9B 8C E8 BA EE D8 D4 A9 │ 23 2B 15 05              ›ЊиєоШФ©#+§♣
и это не gzip.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 28.03.2011, 11:39   #3
FanRa3
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 92
По умолчанию

спасибо. а если я знаю, как декодируется 2 и 3 пакеты, то возможно их расшифровать?
FanRa3 вне форума Ответить с цитированием
Старый 28.03.2011, 12:59   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

знание только алгоритма кодирования не всегда достаточно для расшифровки. Для блочных шифров нужно ещё знать ключ кодирования, например.

Как в примере выше, допустим, мы знаем, что пакеты 2 и 3 декодируются с помощью base64 (для примера). После декодирования пакета 3, как я уже говорил, получаем:

Код:
0000000000: 9B 8C E8 BA EE D8 D4 A9 │ 23 2B 15 05              ›ЊиєоШФ©#+§♣
Можно это расшифровать? Может и можно, если знать алгоритм, ключ, и т.д. А может это просто незашифрованные данные, типа каждый байт — это показания датчика температуры.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 28.03.2011, 16:40   #5
FanRa3
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 92
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
знание только алгоритма кодирования не всегда достаточно для расшифровки. Для блочных шифров нужно ещё знать ключ кодирования, например.

Как в примере выше, допустим, мы знаем, что пакеты 2 и 3 декодируются с помощью base64 (для примера). После декодирования пакета 3, как я уже говорил, получаем:

Код:
0000000000: 9B 8C E8 BA EE D8 D4 A9 │ 23 2B 15 05              ›ЊиєоШФ©#+§♣
Можно это расшифровать? Может и можно, если знать алгоритм, ключ, и т.д. А может это просто незашифрованные данные, типа каждый байт — это показания датчика температуры.
4 пакет мне не нужен. мне нужно подменить только 3 пакет. а вот как его раскрыть и потом заново запаковать - хз
в 3 пакете содержится 8 цифр. во 2 - 32 символа(вроде мд5)
FanRa3 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с zlib Mr.Dmitry Общие вопросы Delphi 4 18.02.2011 07:45
zlib library chuvakner Помощь студентам 2 27.10.2010 23:57
TMemoryStream и Zlib Sanprof Общие вопросы Delphi 13 28.05.2010 16:43
Zlib.dll RoadTrain Общие вопросы Delphi 3 08.05.2007 13:41
ZLib Simply-Art Обсуждение статей 3 03.03.2007 08:24