|
|
|
Помогите определить алгоритм шифрования
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые товарищи! Есть у меня задача, хочу сделать для одного мессенджера альтернативный клиент. Проблема в том. что протокол общения у него бывает двух типов, шифрованные посылки и не шифрованные. Вот пакеты авторизации, заголовок пакета убран, начиная с 0х0042, т.е. с "789c 358e" начинается само тело сообщения. в нем наверняка передается и логин и пароль, потому как после этого пакета сервер отвечает или все хорошо, или пароль не верен. На один и тот же логин\пароль пакет всегда одинаковый. Клиент написан для айфона, так что может есть идеи как его поковырять на предмет алгоритма? вот примеры пакетов, которые формируются при различных значениях логина:пароля (да, в первых случаях логин q@q.rg) у кого какие идеи есть? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. Если серверу в порт засунуть такой пакет, перехваченный от официального клиента, то авторизация происходит на ура. В смысле, что клиент и сервер предварительно ключами не обмениваются. Ключ или вшит в клиента, или генерируется на основании логина или пароля или еще чегонить... алгоритм шифрования не блочный, потому как длина пакета растет пропорционально длине логина/пароля. ОДНАКО: длины пакетов для q@q.rg:0000 и q@q.rg:9999 РАЗНЫЕ! что странно [pre] 0x0040: f53a 789c 358e 5b0a 8330 1045 ffbb 8a61 0x0050: 1610 f3d0 14c1 4877 d042 5790 d4d1 86aa 0x0060: d144 5bba fb86 825f 17ee 837b 9a48 eb4e 0x0070: 696b 9b47 9896 4829 41d1 4263 f7ed 0963 0x0080: 18fc 6c70 bdac 2c0e 088b 4de9 1362 6750 0x0090: 4855 22bc 2926 1f72 a162 8209 84dd e788 0x00a0: 3875 5ae8 da52 2785 92c4 2bdb 6be7 acb6 0x00b0: ea5c d75c 08e9 78c9 fb3e cf5f 0639 42ef 0x00c0: fe92 be69 a3c9 a0bf 3dc3 4c70 bd43 c914 0x00d0: cb2f 53e8 683c 7ccc 704d 7120 9f7e f272 0x00e0: 393b [\pre] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2011, 18:33 |
|
||
|
Помогите определить алгоритм шифрования
|
|||
|---|---|---|---|
|
#18+
MrZagor, По таким данным гадать можно до бесконечности. Это может быть собственное изобретение разработчиков, это может быть банальный RSA, но с докидываемой в пакет служебной информацией, это может быть, скажем, вариация на тему FROG (этот блочный шифр легко модифицируется в побайтовый). Обращаю внимание, что для пользователя q@q.rg предпоследний байт пакета во всех случаях 0х39. Вероятность того, что таким свойством будет обладать шифртекст при хорошем шифре - порядка 2 -32 . ИМХО, надо дизассемблировать код и в отладчике смотреть, как формируется этот пакет. Или написать разработчикам - чем это они шифруют Вашу переписку. Глядишь, и ответят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2011, 00:03 |
|
||
|
Помогите определить алгоритм шифрования
|
|||
|---|---|---|---|
|
#18+
MrZagor, вопросик - по первому пакету результат такой? <request><compress /> <auth login="q@q.rg" password="1234" version="5.1.1" uid="e0ed6169aed2132e05af6bba6a37990112b040ff" vk="0" fb="0" system="iPhone OS 4.3.4" model="iPhone" /></request> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2011, 20:18 |
|
||
|
Помогите определить алгоритм шифрования
|
|||
|---|---|---|---|
|
#18+
Abstraction, по таким данным более чем легко понять "шифрование" :) P.S. Смотреть нужно на первые байты, а не на последние :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2011, 20:21 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37384534&tid=1342793]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 488ms |

| 0 / 0 |
