![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Felixx |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Всем привет, помогите плз разобраться что делает этот код?
и
Это декомпил алгоритма декрипта/енкрипта байтов пакета TCP/IP, вернее его data. Подскажите что тут вообще делается.... Или, если кому не будет трудно, перепишите это на С# пожалуйста) P.S: Используется BitRotateEncript У меня оно сделано так:
Это сообщение отредактировал(а) Felixx - 7.12.2011, 10:16 |
||||||
|
|||||||
| baldina |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
это какие-то манипуляции с данными, которые зависят от формата этих данных. если на "нормальный" язык перевести, то что-то вроде
Добавлено @ 14:08 можно так:
Это сообщение отредактировал(а) baldina - 7.12.2011, 14:09 |
||||||
|
|||||||
| Felixx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Огромное спасибо, буду пробовать!
|
|||
|
||||
| Felixx |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Интересно, что ему за флаг нужен...
сделал так..
Вызываю кнопкой..
И в любом случае MessageBox ..... флаг думаю должен быть как то взят из исходного массива байт... у меня это _bytes Пока ничего не выходит((( |
||||
|
|||||
| Felixx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Не неподходит... :(
тут меняется как то сама data и ее размер.... BitRotateDecript((unsigned __int8 *)(this + 26), v3 + 2, a2); v3 она вроде как присваивается в проверке.. но так же никак низя... private int v3 = (flags & 0x7FFF) <= 0x22D0u; Добавлено @ 15:14 Пример. Имеем массив из байтов: bytes = 6E A1 0F 44 AA 05 2E 46 22 16 D7 19 20 DD D7 19 16 байт. первые 2 байта это short (bytes.size() - 4) тоесть должен быть равен 12. Почему так, потому что это такая структура пакетных данных. сначала 2 байта размер читаемого без самого размера и следущих 2 байт. (отсуда -4 байта) потом 2 байта айди. и кстати каждый раз этот айди почему то меняется вместе с остальными данными, при одних и тех же условиях. (Данный со сниффера) ==== Явно, чтото изменяется во входящем массиве ... ибо что выше, это просто проверки, если шифровано - то делаем битРОтейт... проверки норм проходят, говарит да, шифровано оно... но БитРотейту надо уже мадифицированные данные... иначе никак не клеится.. да и пробовал уже кучу раз и баловался с sfift... :( Это сообщение отредактировал(а) Felixx - 7.12.2011, 15:30 |
|||
|
||||
| Felixx |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Определение Шиврованные байты у нас или нешифрованные сделал, нормально определяет. тока вот не пойму. что оно делает с байтами перед отправкой в BitRotate
Я про эту штуковину....
и
Это сообщение отредактировал(а) Felixx - 7.12.2011, 17:24 |
||||
|
|||||
| Felixx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Help me please
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
||||
|
||||
| Felixx |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Хм, и что это значит))???
Ну вот у меня есть 16 байт... _bytes[] = 6EA10F44AA052E462216D71920DDD719 Я их проверяю на зашифрованность.... и если оно зашифровано то BitRotate()...... но получается совсем не то что нужно.. получается это: _bytes[] = 32DD421E89540A5C8C442DAE3241BBAE вот код
На все 100% могу сказать что после BitRotate первые 2 байта должны быть 0x0C (ну или 12 - размер - 4...) Это 100% Это сообщение отредактировал(а) Felixx - 8.12.2011, 10:26 |
||||
|
|||||
| Felixx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Блин, попробовал потестить на проверки шифровоности/нешифровоности...
что то не корректно определяет.. байты сую 100% шифрованные, он говорит оно не шифровано.. или наоборот.. кароче 50 на 50 .. но норм то криво определяет( |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
||||
|
||||
| Felixx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
BitRotate. стандартный криптер от Zepetto, или игры Point Blank
shift всегда 7 хз почему.. но это только для расшифровки файлов клиента игры, по пакетам пробовал разные, да;е циклом от 0 до 100 после 7 выдает одни нули.... потом около 20 ваще какую то фигню пишет) Ну я отписался в ПМ |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |