LINUX.ORG.RU

Telegram Desktop useragent

 , ,


0

1

Подскажите каким образом можно подменить useragent для Телеграма? Вывод uname -a изменить невозможно и даже если запретить выполнение команды для пользователя запускающего Телеграм, он всё равно каким-то образом понимает в какой ОС запущен. Что можно придумать?

Ответ на: комментарий от eternal_sorrow

На этапе компиляции можно указать версию системы/ядра и это сработает, но мне нужно обойтись как-то без танцев с бубном.

WildUser
() автор топика
Ответ на: комментарий от TDrive

Если бы я был таким крутым, обошёлся бы гуглом, но я даже английский не знаю, куда мне код читать?

Я поэтому сюда и обратился.

WildUser
() автор топика
Ответ на: комментарий от eternal_sorrow

Какая разница есть там линукс или нет? Это картинка для примера что бы понимать что речь идёт о том что видит телеграм.

WildUser
() автор топика
Ответ на: комментарий от WildUser

но мне нужно обойтись как-то без танцев с бубном

Так, если поразмышлять:

  • платформа (Linux, Mac, Windows) скорее всего задаётся при сборке
  • что-то берётся из переменных окружения, для Linux это скорее всего XDG_CURRENT_DESKTOP
  • потом всё это (условные device_model, system_version, application_version) отправляется при авторизации через mtproto

В каком месте можно обойтись без правки исходников и можно ли вообще?

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Бинарник чего? Нужно что бы изначально телеграм определял другую систему при подключении. Например windows.

WildUser
() автор топика
Ответ на: комментарий от TDrive

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

	auto xdgCurrentDesktop = GetEnv("XDG_CURRENT_DESKTOP").toLower();
	auto list = xdgCurrentDesktop.split(':', base::QStringSkipEmptyParts);
	auto desktopSession = GetEnv("DESKTOP_SESSION").toLower();
	auto slash = desktopSession.lastIndexOf('/');
	auto kdeSession = GetEnv("KDE_SESSION_VERSION");

И есть вероятность, что они могут влиять на то как телега взаимодействует с системой. Так что лучше захардкодить в исходниках именно значение сессии а все остальное оставить как есть.

TDrive ★★★★★
()
Ответ на: комментарий от WildUser

Какое ядро, какое вручную?

Вот, просто хардкодишь здесь что тебе нужно и собираешь клиент- https://github.com/telegramdesktop/tdesktop/blob/115dc460ac2fc49304209c7bd5f1dde4bb89084d/Telegram/SourceFiles/main/main_account.cpp#L401

или «раскручиваешь» назад и смотришь откуда берутся deviceModel и systemVersion.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от TDrive

Кстати, да, эту же информацию видит только авторизованный юзер, зачем что-то менять от самого себя?

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Пока им пользуются другие, избавиться от этого дерьма не легко.

WildUser
() автор топика
Ответ на: комментарий от vvn_black

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

WildUser
() автор топика
Ответ на: комментарий от TDrive

Барыги такими мелочами не заморачиваются, ты слишком хорошего мнения о них.

WildUser
() автор топика

передать нужный device_model на этапе подключения к серверу
скорее всего, придётся пересобирать telegram

annerleen ★★★★☆
()
Ответ на: комментарий от annerleen

Откуда такие сведения? В device_model передаётся произвольная строка. Как и в system_version. А вот сам клиент, определяется по api_hash и api_id, его не подменишь без их смены.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)
Ответ на: комментарий от vvn_black

Откуда такие сведения?

из личного опыта.
можешь попробовать в device_model передать zhabogram, если аккаунт(ы) не жалко.

annerleen ★★★★☆
()

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

Avial ★★★★★
()
Ответ на: комментарий от vvn_black

ну очевидно, чем TW будет браузерный юзерагент.

Avial ★★★★★
()
Ответ на: комментарий от WildUser

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

Brillenschlange
()
Ответ на: комментарий от WildUser

У меня всякие такие поделки на виртуалке крутятся, а овцы на хосте целы.

anonymous
()
Ответ на: комментарий от WildUser

а легкие виртуалки, с загрузкой в раму отменили?

anonymous
()
Ответ на: комментарий от WildUser

Во первых, используй виртуалку, во вторых, не используй телеграм или заведи отдельный комп, в третьих, TDlib и вагон опенсорсных клиентов на нем – твои друзья

mazdai ★★★
()
Ответ на: комментарий от mazdai

Не использовать телеграм не могу. Юзерагент и так нужно поменять в виртуалке, но виртуалка использует ядро хоста.

WildUser
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.