Подключите нашего Telegram-бота для уведомлений о новых проектах

алгоритм шифрования http запросов

Разместить заказ
5
Заказчик
Отзывы фрилансеров: + 1 - 0
Зарегистрирован на сайте 1 год и 7 месяцев
Бюджет: 1200 руб
15.29 $ — 13.31 €
Общее положение дел следующее. Мы разрабатываем парсер для китайского маркетплейса пойзон. У пойзона есть приложение, однако его реверс это крайне трудозатратная история, поэтому мы решили парсить данные не из приложения, а из сайта. Сайт представляет из себя что-то вроде промо этого магазина, однако все эндпоинты совпадают с приложением, а также к этому промо подключена вся товарная база маркетплейса. Во время реверса сайта столкнулись с тем, что наших компетенций не хватает для того, чтобы обойти шифрование. Таким образом нам нужно понять

Необходимо выяснить при каких условиях запросы на

1) Поиск

2) Получение конкретного товара

3) Получение товаров в категориях

4) Получение параметров необходимых для выполнения запросов

Выполняются корректно и возвращают читаемые данные. А именно:

HTTP заголовки: Cookie, ltk, SK, sks, sessionid, shumeiId, traceparent.

Необходимо выяснить как они генерируются, влияние на запросы, и как часто их необходимо обновлять

Тело запроса или параметры: необходимо подготовить скрипт (любой язык, в идеале Java) который будет переводить из строки в зашифрованные данные, и обратно.

Также необходимо предоставить список параметров для каждого запроса из списка выше и их значение.

Поиск без номера: необходимо выяснить при каких условиях запрос отправляется корректно, не запрашивая аутентификацию по номеру телефона. Т.е при запросе на app.dewu.com/api/v1/h5/se... должен выводится результат поиска со списком товаров, а не код ошибки. Если окажется что влияет отпечаток бразуера надо выяснить как генерировать отпечатки браузера, с которыми запросы будут проходить корректно. Метод обхода должен работать стабильно.

На выходе ожидаю получить список эндпоинтов и стабильный алгорим успшного запроса к каждому из эндпоинтов (успешным считается тот, который выдал данные о товарах)

Что уже известно:

Эндпоинт поиска: app.dewu.com/api/v1/h5/se...

Главная страница: m.dewu.com/router/pages/i...

Шифрование происходит в скрипте davstatic.dewu.com/pstone...

Деобфусцированную версию этого скрипта прикреплю к сообщению.

Само зашифрованное сообщение состоит из 2 частей: ключи для дешифровки (в RSA?) и зашифрованные данные в AES. Библиотека шифрования CryptoJs

Примерный алгоритм шифрования на примере эндпоинта dav.dewu.com/webSk:

1) C помощью функции _0x23ad34 генерирутся общий ключ длинной 48 символов из символов 0123456789ABCDEF

2) Данные переводятся в Json

3) Парсятся из UTF-8 (строка 2672)

4) Шифруются с помощью AES.

Ключ шифрования: подстрока из ранее сгенерированного общего ключа c 10 до 26 символа

initialization vector (IV): подстрока из ранее сгенерированного общего ключа c 20 до 36 символа

Режим: CBC

Padding: Pkcs7

5) Далее берется ciphertext и переводится в uppercase. ciphertext.toString().toUpperCase(). Данные зашифрованы.

Шифрование общего ключа для расшифровки данных:

1) Общий ключ шифруется публичным ключем на строке 2654

2) Затем выполняются некоторые преобразования на строках с 2655 до 2699. Ключ зашифрован

Затем выполняется связывание данных.

ЗАШИФРОВАННЫЙ_КЛЮЧ ЗАШИФРОВАННЫЕ_ДАННЫЕ (без пробела, баг телеги, не могу убрать)

Далее добавляется параметр sign который представляет из себя md5 строки которая была получена на строках 2691-2715 + соль 048a9c4943398714b356a696503d2d36

Дешифрока происходит теми же ключами что и шифрование. Ответ приходит в HEX формате

cloud.mail.ru/public/k4aH...

Если у вас есть еще вопросы, пожалуйста, задавайте
Разделы:
Опубликован:
16.02.2024 | 16:32 [поднят: 16.02.2024 | 16:32]
Откликнуться Посмотреть другие заказы Разместить заказ

Теги: нужен программист, резюме программиста, требуется программист, резюме веб программиста

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».