Тема: Привязываем аутентификатор Battle.net к Authy, Google authenticator и тп.  (Прочитано 3526 раз)

0 Пользователей и 1 Гость просматривают эту тему.

axel_17

  • Завсегдатай
  • **
  • Сообщений: 265
  • Рейтинг:-1 (+1 | -2)


DISCLAMER я у мамы не айтишник, шарящие люди найдут этот гайд топорным и вообще фу, но я делал как умею

Инструкция для тех кто УЖЕ ПРИВЯЗАЛ НОМЕР и АУТЕНТИФИКАТОР! Если их нет, то ничего не получится!

Поскольку с некоторых пор многие из нас стали "жителями" зарубежья и вернулись в игру появился вопрос - а стоит ли привязывать аккаунт к незнакомому номеру к которому через 20 минут я все равно потеряю доступ? А что если я потеряю аутентификатор? Игре ёк?

Аутентификатор и номер можно отвязать через службу поддержки, в целом не страшно. Страшно что служба поддержки может поинтересоваться давно ли мы "переехали" - а нам такие вопросы ни к чему. В связи с чем хотелось бы иметь доступ к аккаунту даже если аутентификатор близзард ВСЁ.

В связи с чем еще в далеком 24 году в интернетах нашли способ привязать двухфакторку к любому аутентификатору Authy, Google authenticator и еже с ними.

Процесс геморный, но необходимый.

Итак, что мы делаем: мы пытаемся выловить код безопастности который близы нам присвоили, превратить его в удобоваримый для Authy, Google authenticator и тд вид и заходить в акк уже используя их.

Для этого нам понадобиться:
1 - Curl https://curl.se/windows/
Качаем, распаковываем в корень диска С, чтоб было так C:\curl (это чтобы потом далеко не ходить)

2 - Bearer Token - эта фигня часть нашей защиты, у каждого токен индивидуальный
Переходим по ссылке https://account.battle.net/login/en/?ref=localhost
Вводим логин и пароль, ссылка не открывается НО выдает нам токен
по идее он вписан в адресной строке и выглядит так

Цитировать
EU-144d7ea006ce9ee03ed28c29987de90d-623478


если у вас европа и

Цитировать
US-блаблабла


если у вас США

Но близы были бы не близы если бы все нормально делали, посему после получения ошибки на странице открываем средства разработчика клавишей F12 ищем cookies и в одной из строк вписан ТОЧНО РАБОЧИЙ токен (выглядит так же EU-блаблабла).
Он нам нужен, копируем куданить в текстовый файл.

Так же нам нужны код восстановления и серийный номер которые родное приложение просило нас заскринить когда мы подрубали аутентификатор battle.net. Мыж заскринили, мы умные!

Теперь самое унылое и плохо работающее - коммандная строка windows
Запускаем ее (пуск - поиск - вводим "cmd" - правой кнопкой мыши на результате "коммандная строка" - запустить от имени администратора)
Изначально оказываемся на C:\Windows\System32>
валим отсюда используя комманду CD C:/
попадаем в корень диска С
далее нам надо попасть в папку curl
CD CURL
и в следующую папочку bin где собственно и лежит исполняемый файлик curl
CD BIN

По итогу мы имеем c:\curl\bin

теперь берем эту строчку

Цитировать
curl -X POST "https://authenticator-rest-api.bnet-identity.blizzard.net/v1/authenticator/device" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer ТУТ ВАШ ТОКЕН" -d "{\"restoreCode\": \"ТУТ КОД ВОССТАНОВЛЕНИЯ\", \"serial\": \"ТУТ СЕРИЙНЫЙ НОМЕР\"}"


копируем ее, суем в текстовый файлик куда переписали токен и меняем ЛАТИНСКИЕ БУКВЫ на токен код и серийник соответственно

Получившуюся красоту копируем в коммандную строку на что она выдает нам ответ вида

Цитировать
{"restoreCode":"ТУТ НАШ КОД ВОССТАНОВЛЕНИЯ","serial":"ТУТ НАШ СЕРИЙНИК","deviceSecret":"ВОТ ЭТО НАМ ТО И НУЖНО","timeMs":ЭТО ХЗ ЧТО,"requireHealup":false}


Если она выдала ошибку или вообще ничего проверяйте что вставляете, любой лишний пробел или символ и все сломалось

Вот deviceSecret нам то и нужон, это тот самый код который мы дальше и будем использовать. Нежно копируем его в текстовый файлик к нашим пацанам просто из коммандной строки.

Теперь его надо привести из HEX в Base32 (что бы это ни было)
Заходим в любой конвертор (я бы тут https://tomeko.net/online_tools/hex_to_base32.php?lang=en)
Вставляем код и получаем новый в строчке Output (base32):

Копируем его и пихаем в любой конвертор текста в QR код. Я, опять таки, был тут https://qrcod.ru/text/
Вставляем текст и тут же получаем QR код на который и наводим телефон при добавлении нового ключа в сторонний аутентификатор.

В следующий раз при логине после ввода пароля выбираем внизу строчку "Ввести проверочный код Authenticator"

Вот собственно и все
« Последнее редактирование: 21 Апреля, 2026, 20:13:20 by axel_17 »

junalai

  • Новичок
  • *
  • Сообщений: 4
  • Рейтинг:0 (+1 | -1)
Вроде ввёл всё правильно, без пробелов или символов, но ничего не происходит и следующая строка так же выдает C:\curl\bin>
Если вводить команду из гайда с гитхаба, то там просто пишет, что не удалось найти указанный файл. Есть какое-то решение проблемы?

axel_17

  • Завсегдатай
  • **
  • Сообщений: 265
  • Рейтинг:-1 (+0 | -1)
Попробуй по оригинальному гайду тут
https://github.com/jleclanche/python-bna/issues/38#issuecomment-1902482544

junalai

  • Новичок
  • *
  • Сообщений: 4
  • Рейтинг:0 (+0 | 0)
Попробуй по оригинальному гайду тут
https://github.com/jleclanche/python-bna/issues/38#issuecomment-1902482544


По нему и делал, после комманды на device secret пишет "не удается найти указанный файл"

axel_17

  • Завсегдатай
  • **
  • Сообщений: 265
  • Рейтинг:-1 (+0 | -1)
Попробуй по оригинальному гайду тут
https://github.com/jleclanche/python-bna/issues/38#issuecomment-1902482544


По нему и делал, после комманды на device secret пишет "не удается найти указанный файл"


curl -X POST "https://authenticator-rest-api.bnet-identity.blizzard.net/v1/authenticator/device" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer <BEARER_TOKEN>" -d "{\"restoreCode\": \"<RESTORE_CODE>\", \"serial\": \"<SERIAL>\"}"

junalai

  • Новичок
  • *
  • Сообщений: 4
  • Рейтинг:0 (+0 | 0)
Вот я и ввожу эту команду, послё ввода как раз и выдает, что "Не удается найти указанный файл.". Curl на C стоит, путь указан, всё должно работать, но почему-то не хочет и в интернете особо ответов на эту проблему не нашёл.

junalai

  • Новичок
  • *
  • Сообщений: 4
  • Рейтинг:0 (+0 | 0)
Вот я и ввожу эту команду, послё ввода как раз и выдает, что "Не удается найти указанный файл.". Curl на C стоит, путь указан, всё должно работать, но почему-то не хочет и в интернете особо ответов на эту проблему не нашёл.

Проблема решена, теперь просто qr cod не сканится через authy  :facepalm:

axel_17

  • Завсегдатай
  • **
  • Сообщений: 265
  • Рейтинг:-1 (+0 | -1)
Вот я и ввожу эту команду, послё ввода как раз и выдает, что "Не удается найти указанный файл.". Curl на C стоит, путь указан, всё должно работать, но почему-то не хочет и в интернете особо ответов на эту проблему не нашёл.


Проблема решена, теперь просто qr cod не сканится через authy  :facepalm:


если решена пиши как, вдруг кому пригодится

перевел код из hex в bae32 через сайт https://tomeko.net/online_tools/hex_to_base32.php?lang=en
сунул свой код в верхнее поле, в самом нижнем забрал новый и уже его конвертируешь в qr код?
код полностью скопировал? скопировал чтото лишнее? authy свежий?

JustDevi1

  • Новичок
  • *
  • Сообщений: 1
  • Рейтинг:-1 (+0 | -1)
Вроде ввёл всё правильно, без пробелов или символов, но ничего не происходит и следующая строка так же выдает C:\curl\bin>
Такая же фигня. Не пойму как пройти данный этап что по данному что по оригинальному гайду(
ps Меняющийся токен при каждом заходе это же норма?
« Последнее редактирование: 23 Апреля, 2026, 11:21:55 by JustDevi1 »

axel_17

  • Завсегдатай
  • **
  • Сообщений: 265
  • Рейтинг:0 (+0 | 0)
Вроде ввёл всё правильно, без пробелов или символов, но ничего не происходит и следующая строка так же выдает C:\curl\bin>
Такая же фигня. Не пойму как пройти данный этап что по данному что по оригинальному гайду(
ps Меняющийся токен при каждом заходе это же норма?
я таак понял что норма, все надо сделать с одним заходом, сначала сайт потом curl

NerroR

  • Новичок
  • *
  • Сообщений: 1
  • Рейтинг:0 (+1 | -1)
1. Вместо Bearer token тут написан только SSO token
Для получения Bearer toke нужно ввести в командной строке
curl -X "POST" "https://oauth.battle.net/oauth/sso" -H "content-type: application/x-www-form-urlencoded; charset=utf-8" -d "client_id=baedda12fe054e4abdfc3ad7bdea970a&grant_type=client_sso&scope=auth.authenticator&token=(SSO token)"
(SSO token) заменяете уже на тот кусок ссылки
Получаем ответ в следующем виде
{"access_token":"(Bearer token)","token_type":"bearer","expires_in":XXX,"scope":"auth.authenticator","sub":"YYY"}
На месте (Bearer token) будет код, который нам и нужен и его уже используем в пунктах ниже данного гайда

2. В последнем пункте, когда вы перевели из HEX в Base32, нужно не сразу из этого делать QR код а вставить его в ссылку
otpauth://totp/Battle.net?secret=(deviceSecret)&digits=8
Вставлять естественно вместо (deviceSecret)
И вот эту получившуюся строчку уже переводите в QR код и сканируете приложением

K3ka

  • Новичок
  • *
  • Сообщений: 1
  • Рейтинг:0 (+1 | -1)
Здравствуйте, господа.
В самом конце оригинальной инструкции какой-то хороший человек Nighthawk42 дает ссылку на свою утилиту, которая сильно упрощает процесс.
https://github.com/Nighthawk42/bnet_auth_tool

Скачиваем (я качал последнюю версию 1.3)
Запускаем - открывается консоль 
Нажимаем 2 Retrieve existing device secret, появляется инструкция для получения Session Token на английском языке, который автор темы уже любезно для нас перевел ;)
эта фигня часть нашей защиты, у каждого токен индивидуальный
Переходим по ссылке https://account.battle.net/login/en/?ref=localhost
Вводим логин и пароль, ссылка не открывается НО выдает нам токен
по идее он вписан в адресной строке и выглядит так

Цитировать
EU-144d7ea006ce9ee03ed28c29987de90d-623478

если у вас европа и

Цитировать
US-блаблабла

если у вас США


Вставляем полученный токен в программу
Далее она спрашивает нас хотим ли мы зашифровать вводимую информацию.  Я не совсем понял зачем это нужно, поэтому просто нажал N (нет).
Далее снова по автору вводим
Цитировать
Так же нам нужны код восстановления и серийный номер которые родное приложение просило нас заскринить когда мы подрубали аутентификатор battle.net. Мыж заскринили, мы умные!


Если все сделано правильно программа выдаст кучу разной информации на экран, все наши коды, всякие предупреждения, но самое важное она сама, рядом со своим исполняемым файлом сохранит файл с картинкой готового QR-кода для добавления в ваши приложения и второй файл с расширением .json, который можно открыть блокнотом и посмотреть свои данные об аутификаторе.