Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1

Реверс-инжиниринг сессионного токена

01.11.2020, 16:44. Показов 1422. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто сможет прояснить, объяснить, что может быть зашито в этом токене (для примера приведены несколько) и какими хэшами + 150 к репе.
А если еще сможет догадаться как их самолично генерировать, то ... обсудим в личке.

Code
1
2
3
4
5
6
7
"c42c6575.5f59e8d8.1695b2a7.74722d74657874-1-0"
"f42c6575.5f59e8d8.1695b2a7.74722d74657874-1-0"
"bb895f78.5f5f7604.9953f766.74722d74657874-0-0"
"24bf3748.5f621b90.144d4fcb.74722d74657874-0-0"
"0ac52db8.5f64d566.3ca83169.74722d74657874-0-0"
"ba1bc28b.5f89c3b0.4114e871.74722d74657874-2-0"
"150ebd46.5f9eb825.31024945.74722d746f756368-0-0"
P.S. Сервис который их генерит - яндекс-переводчик, бесплатная формочка: https://translate.yandex.ru
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2020, 16:44
Ответы с готовыми решениями:

Реверс-инжиниринг
Доброго времени суток, уважаемые винградовцы. решил хакнуть одну игру на андроиде, а точней понять как она с сервером общается. Узнал,...

Реверс инжиниринг разума
Здравствуйте. Я недавно начал обратную разработку разума. Как я понимаю, пока ещё нет рабочей модели работы мозга даже на уровне...

Реверс-инжиниринг модифицрованной CRC
Здравствуйте. Есть некая величина А (слово) также есть константа X и некая переменная D - зеркальное отражение результата этой же...

12
кодер
 Аватар для mikhail899
37 / 26 / 13
Регистрация: 15.08.2014
Сообщений: 416
03.11.2020, 00:15
Цитата Сообщение от Garry Galler Посмотреть сообщение
74722d74657874-1-0"
yandex.ru смысл обсуждать если он действительно на конце
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.11.2020, 00:47  [ТС]
Цитата Сообщение от mikhail899 Посмотреть сообщение
yandex.ru смысл обсуждать если он действительно на конце
В смысле на конце?
API (1.0) же работает. И я на нем до 1 млрд. символов в день перевожу.
Проблема только в этом токене, который приходится раз в неделю вручную извлекать.
Причем есть прога (закрытая), которая умеет его генерить (возможно, автору в свое время кто-то из яндекса подсказал, может сам докумекал).
0
кодер
 Аватар для mikhail899
37 / 26 / 13
Регистрация: 15.08.2014
Сообщений: 416
03.11.2020, 08:29
Garry Galler, оканчание токена (это вот на конце).мне ключ не выдавал сразу,потом зашёл ,а там ключ.как так то?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.11.2020, 13:39  [ТС]
Цитата Сообщение от mikhail899 Посмотреть сообщение
оканчание токена (это вот на конце).мне ключ не выдавал сразу,потом зашёл ,а там ключ.как так то?
Ничего не понял. Я про токен бесплатного недокументированного API на формочке, который формируется формочкой и никому нигде не выдается.
0
кодер
 Аватар для mikhail899
37 / 26 / 13
Регистрация: 15.08.2014
Сообщений: 416
03.11.2020, 13:51
Цитата Сообщение от Garry Galler Посмотреть сообщение
не понял
может проще сказать,что я этого не видел"а?объясняю более досконально- при регистрации мне ключа,ключ мне в переводчике не дают сразу,а только по прошествии времени.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.11.2020, 16:51  [ТС]
Цитата Сообщение от mikhail899 Посмотреть сообщение
при регистрации мне ключа
Причем тут регистрация? Я совсем другое API имею ввиду. И не ключ API, который выдается, а сессионный токен. Не засоряй тему.
0
кодер
 Аватар для mikhail899
37 / 26 / 13
Регистрация: 15.08.2014
Сообщений: 416
03.11.2020, 16:56
Garry Galler, даже это-то плохо,не то что там сессионный ключ.Хорошо не буду.мне к примеру acc_key в вк не дают,говорят сразу "следим",а то что для рекламы хорошо это не учитывают.Я кстати если о теме сказать как увидел количество языков который этот монстр переводит был удивлён,и понял если сворганить блог на всех языках мира то моего диска не хватит(это на тот момент)чтоб с аппачи его запускать.С гуглом то не понятно что робота теперь на ПК так просто не пригласить,да вообще в работу его не заслать,кстати не та же песня что и у Вас.
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
03.11.2020, 23:08
Garry Galler, здравствуйте. Насколько я понял, ID — это перевернутый SID. Который, в свою очередь генерируется при загрузке страницы. Его Вы можете найти в исходном коде, в объекте window.config.

JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
window.config = {
    SRV: "tr-text",
    SID: "212958c9.40da1af5.0c90738e.47875647d22747",
    VER: "v20.10.5",
    UID: "39240558",
    LOAD_TS: "1604431108",
    FAMILY: 1,
    CSRF_TOKEN: "e8cb7b98041c7d465abfa920fc1276d0ad15e55b:5fa1ad04",
    IS_FIRST_VISIT: false,
    CLCK_URL: "https://yandex.ru/clck/click/",
    CLCK_PATH: "web_desktop.morda",
    DOMAIN: "ru",
    UI_LANG: "ru",
    PASSPORT: "ru",
    RETPATH: "https%3A%2F%2Ftranslate.yandex.ru%2F",
    FAV_URL: "/user/tr",
    ...
}

Что можно сделать? Парсите со страницы https://translate.yandex.ru значение SID через регулярное выражение → преобразовываете его в ID путем переворачивания значений:

Code
1
2
3
4
5
6
feb63924 → 42936bef
2f4b1af5 → 5fa1b4f2
62a36b6c → c6b63a26
47875647d22747 → 74722d74657874
 
Объединяем точками и добавляем в конец (-1-0). Что это за значение и зачем оно нужно, я так и не понял. Мне кажется, это какой-то рудимент. Потому что, какие угодно целые числа подставляйте — оно всё равно будет работать.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
 
$sid = 'feb63924.2f4b1af5.62a36b6c.47875647d22747';
 
$prepId = [];
 
foreach ($ctx = explode('.', $sid, 4) as $key => $value) {
    $prepId[] = strrev($value);
}
 
$identificator = implode(".", $prepId) . '-' . '1' . '-' . '0';
 
echo $identificator;
Запросы выполнял в `Postman`:

JSON
1
2
3
4
5
6
7
8
9
10
{
    "align": [
        "0:5-0:5,0:5-0:5"
    ],
    "code": 200,
    "lang": "ru-en",
    "text": [
        "hello"
    ]
}
Проблема только в этом токене, который приходится раз в неделю вручную извлекать.
Поставьте Ваш скрипт на CRON и сохраняйте ID раз в ~ 5 дней. Яндекс от слова «совсем» не любит когда к нему обращаются очень часто и блокирует.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.11.2020, 23:56  [ТС]
Цитата Сообщение от evikza Посмотреть сообщение
Насколько я понял, ID — это перевернутый SID.
Гениально :-) Слона я и не приметил... Я думал, что вообще какой-то отдельный токен, а оказывается его просто нужно было развернуть по частям. Это уже кое-что... пусть не автогенерация, но хотя бы автопарсинг.
Огромное спасибо за эту подсказку.

Цитата Сообщение от evikza Посмотреть сообщение
Яндекс от слова «совсем» не любит когда к нему обращаются очень часто и блокирует.
Фиг знает. Вот именно на этом сервисе такое ощущение что там полный беспределлимит. Я во время перевода делаю до сотни обращений в секунду (там же ограничение на 600 символов за один запрос и приходится тексты дробить ) и ... ничего. Сервак никак не реагирует отказами, а в день, как я же писал выше, можно запросто до миллиарда символов через него перегнать.
Возможно, конечно, что однажды они этот безлимит таки прикроют :-)

Добавлено через 33 минуты
Цитата Сообщение от evikza Посмотреть сообщение
добавляем в конец (-1-0). Что это за значение и зачем оно нужно, я так и не понял. Мне кажется, это какой-то рудимент. Потому что, какие угодно целые числа подставляйте — оно всё равно будет работать
Да, именно так. Без них не работает: сервак говорит "Invalid parameter: id", а так можно подставлять любые две цифры\числа.
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
03.11.2020, 23:56
Garry Galler,

Не по теме:

Однажды, мне нужно было вытащить worker_id со страницы https://yandex.ru/uslugi/. После трех запросов (с одного IP), уважаемый Яндекс начал подозревать что я делаю это через cURL и стал отдавать мне капчу.



Сейчас посмотрел в интернетах, нашел какую-то программу, которая занимается переводом. Там так же, сначала они выдергивают SID.

Code
1
let rev_id = response_get_id.data.match(/SID:\s*'([^']+)/)[1].split('.');
¯\_(ツ)_/¯
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
04.11.2020, 00:00  [ТС]
Цитата Сообщение от evikza Посмотреть сообщение
Яндекс начал подозревать что я делаю это через cURL и стал отдавать мне капчу.
Ну именно для поисковиков выдавать капчу юзерам это норм. Меня так и гугл и яндекс нередко за робота принимают.

Цитата Сообщение от evikza Посмотреть сообщение
нашел какую-то программу, которая занимается переводом. Там так же, сначала они выдергивают SID.
Сторонняя прога, о который я писал в посте №3 это QTranslate. Черт его знает, может и она тоже выдергивает SID. Я почему-то решил, что она сама генерит.
0
кодер
 Аватар для mikhail899
37 / 26 / 13
Регистрация: 15.08.2014
Сообщений: 416
04.11.2020, 12:28
Garry Galler, приношу извенения,дошло.я понимаю что вы один пробрасываете это через переводчик поисковой системы.Что то ,но всё таки возможно понять после перевода.синонимы.больше писать про сверх естественное не буду.там молчат где спрашивал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2020, 12:28
Помогаю со студенческими работами здесь

Реверс-инжиниринг приложение под Андроид
Ищу исполнителя работы по реверсу приложения. Прилодение умеет авторизоваться и в авторизованном режиме обмениватся с сервером данными. ...

Реверс инжиниринг и Crackme (C++/Assembler - x86)
Возник интерес создать спортивную тему для любителей реверс инжиниринга. Суть темы в эстафете. Человек пишет crackme. Тот, кто его ломает...

Реверс инжиниринг, и тут что-то пошло не так
Всем приветик :) Вот решила посмотреть в один модуль на питоне, и сразу наступила на какие-то невидимые грабли. Суть задачи такая:...

Нужен спец. для Реверс-инжиниринг, программирование в PostgreSQL, MySQL
На периодические работы нужен человек для решения задач по postgresql, mysql. Задачи: программирование, реверс таблиц, изменение...

Реверс-инжиниринг игры Clash of clans | разбор/просмотр .so/.sc/ зашифрованых .cvs
Добрый вечер! Вопрос конечно не совсем по теме но ведь Вы программируете под андроид и возможно кто-то как раз реальзреализует у себя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru