Геочаты, вредные боты и стеганография: пополняем знания о Telegram

Боты — это модно. Нина Белая специально для Нетологии выбрала 45 полезных ботов для Telegram.

Эти телеграм-боты помогут решать задачи быстро и с пользой.

Хранить и обмениваться файлами

@topdf_bot — Конвертирует в PDF документы и файлы. Поддерживает DOC, DOCX, ODT, TXT и JPG.

@instasave_bot — Скачивает фото и видео из Instagram. Отправляете ссылку — получаете медиафайл.

@driveitbot — Сохраняет на «Google Диск» файлы весом до 20 МБ.

@filesbot — Умеет хранить документы и делиться ими с другими пользователями.

@transferRobot — Еще один помощник для работы с файлами: загружает в облачное хранилище и даёт постоянные ссылки на них.

Найти и скачать

@ru_tracker_bot — Скачивает торрент-файлы с заблокированного в России Rutracker без перехода на сайт.

@freebooksbot, @mybookbot — Ищут книги по запросу, предлагают выбрать формат и сохраняют файл в Dropbox.

@tap2bot — Ищет все: одежду, книги, фильмы, авиабилеты, отели, самые дешевые такси. Работает с Флибустой, РуТрекером, ВКонтакте и другими ресурсами.

курс

Интернет-маркетолог

Узнать больше

  • Освойте одну из самых востребованных digital-профессий
  • Познакомьтесь с основными инструментами интернет-маркетинга
  • Изучите теорию и отработайте практические навыки на реальных проектах

Почта

@findoBot — Поисковый ассистент для почты, облачных хранилищ, контактов. Работает с Gmail, Evernote, Dropbox, OneDrive.

@temp_mail_bot — Создает временный ящик и показывает его содержимое. Сам удаляет все это через 10 минут.

Языки

@ytranslatebot — Бот-переводчик от Яндекса.

@andyrobot — Помогает практиковать английский. Можно выбрать изучение отдельных слов, грамматики или построить диалог. Предлагает аудио с правильным произношением.

@slangbot — Еще один помощник в изучении английского. Можно запросить толкование слова или получить объяснение рандомного выражения из словаря этого бота.

@pronunciationbot — Присылает аудиофайл с произношением слова или фразы. Работает в групповых чатах.

Текст

@grammarnazibot — Проверяет грамотность текста. Если добавить этого бота в общий чат, он укажет на ошибки каждого участника обсуждения.

@swp_bot — Исправляет текст с ошибкой раскладки — русскую на английскую или наоборот.

@voiceru_bot — Синтезирует текст в речь и наоборот.

Для работы в Telegram

@yetanotherbot — Создает анонимный чат с заменой настоящего ника пользователя на вымышленный.

@pollbot — Организовывает голосование в чате с заданными вариантами ответа и считает статистику.

@hellouserbot — Бот-привратник для общего чата: приветствует новых участников, прощается с уходящими. Текст его реплик можно задать самому.

@msg_stats_bot — Считает статистику сообщений в чате, составляет топ-15 пользователей.

@controllerbot — Работает с каналами: может отправлять форматированные сообщения и создавать отложенные посты.

@metricsBot — Показывает данные из Google Analytics.

Читать также

4814.jpg

10 каналов для копирайтеров, журналистов и редакторов в Telegram

В городе и в мире

@onetwotrip_bot — Ищет авиабилеты: предлагает самый быстрый и самый дешевый варианты. Доступны настройки желаемого времени вылета или авиакомпании.

@aviasalesofficialbot — Бот от Aviasales ищет авиабилеты и гостиницы.

@yandexmapsbot — Работает с картами Яндекса — находит и показывает объекты, сообщает уровень пробок в городе.

@caffe_bot — Находит кафе и рестораны в радиусе километра от вас. Показывает расположение, ценник, контакты, фотографии места и отзывы о нем. Работает в мобильном клиенте.

@barmap_bot — Показывает пять открытых баров в радиусе километра от вас.

@flysafebot — Бот для тех, кто боится полетов. Он расскажет, какой рейс безопаснее для вашего маршрута, можно ли спокойно сесть в тот или иной самолет.

@osmbot — OpenStreetMap-бот умеет искать места по всему миру, присылает изображения в нескольких форматах на выбор, дает контакты магазинов в городах и поселках из базы сервиса. Говорит на английском.

@cargolinkbenzinbot — Покажет заправки в радиусе пяти километров от вас. Работает по всему СНГ.

Спорт

@fitmebot — Помогает купить или продать абонемент в тренажерный зал. Работает по всей России.

@crossfitwodbot — Присылает программу кроссфит-тренировок на день, записывает результат и сравнивает с достижениями других спортсменов.

Читать также

4353.jpg

11 чатов в Telegram для маркетологов

Прочие

@shtrafyBot — Проверяет, есть ли штрафы ГИБДД, сохраняет реквизиты автомобиля, сообщает о новых штрафах. Оплатить штраф с его помощью нельзя, но бот дает ссылку на оплату вне Telegram.

@russianpdd_bot — Экзамен на знание ПДД в виде бота. В базе 40 билетов по 20 вопросов, актуальных на 2016 год.

@mnp_bot — Определяет по номеру телефона регион и мобильного оператора.

@wmarkbot — Ставит водяные знаки на фотографии и видео. Можно настроить знак в виде текста или картинки.

@easystrongpasswordbot — Генератор паролей — и сложные, и простые составляет так, что их легко запомнить.

@radiusbot — Находит собеседников вокруг вашей локации. Минимальный радиус поиска — 10 метров, максимальная аудитория — весь мир. Бот можно использовать, например, на конференциях или лекциях, если хочется узнать мнение коллег. Для знакомства в барах сервис тоже вполне подойдет.

@RubleRobot — Подбрасывает для вас монетку — бот на случай принятия важных решений.

Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.

Читать также

15 каналов Telegram, полезных SMM-менеджеру

Telegram-бот «Глаз Бога»</figcaption>

Для отправ­ки команд бот тре­бует под­писать­ся на собс­твен­ный канал, но даже это не гаран­тиру­ет резуль­тата. По телефо­ну «Глаз Бога» выда­ет наз­вание опе­рато­ра и его реги­он (видимо, для тех, кто не уме­ет опре­делять эти дан­ные на глаз), воз­можное имя (я ввел нес­коль­ко телефон­ных номеров — име­на сов­пали).

Еще он может най­ти поч­товые адре­са (веро­ятнее все­го, по базе адми­нис­тра­торов доменов), стра­ницу «ВКон­такте», акка­унт «Телег­рам», WhatsApp, чис­ло инте­ресо­вав­шихся пер­сонажем до вас. Но эту информа­цию бот пре­дос­тавит за 30 руб­лей. То же самое каса­ется поис­ка по номеру авто­моби­ля: бес­плат­но бот показы­вает толь­ко реги­он (который мож­но опре­делить и так), а за трид­цатку пред­лага­ет ска­чать отчет «Авто­кода». При этом дан­ные об авто­моби­ле по его номеру при желании нет­рудно отыс­кать в этих ваших интерне­тах бес­плат­но.

Ес­ли вы вве­дете адрес элек­трон­ной поч­ты, бот любез­но покажет вам логин (то, что до сим­вола @) и домен (то, что пос­ле @) — это осо­бо цен­ная информа­ция! Так­же вам пред­ложат купить адрес при­вязан­ной к это­му мылу стра­нич­ки «ВКон­такте» и свя­зан­ные с email пароли из какой‑то сли­той базы. По име­ни бот ищет толь­ко номер телефо­на в задан­ном реги­оне, находит неп­равиль­ный и для его прос­мотра пред­лага­ет купить под­писку.

В общем и целом, поль­за от это­го бота показа­лась мне весь­ма сом­нитель­ной: инфу, которую «Глаз Бога» отда­ет бес­плат­но, мож­но при желании нагуг­лить и без него, а плат­ная информа­ция скуд­на и не всег­да дос­товер­на.

AVinfo

Бот ищет по сли­тым базам пароли, соот­ветс­тву­ющие адре­сам элек­трон­ной поч­ты, логинам или номеру телефо­на. Бес­плат­но бот показы­вает толь­ко часть обна­ружен­ных паролей, а за пол­ной вер­сией отправ­ляет на сто­рон­ний сайт, где посети­телю с ходу пред­лага­ют опла­тить под­писку.

Заключение

Мои экспе­римен­ты показа­ли, что боты для поис­ка пер­сональ­ных дан­ных в целом могут быть полез­ны, но с неболь­шими ого­вор­ками:

  • боль­шинс­тво из них — плат­ные, и качес­тво поис­ка информа­ции там все рав­но сред­нее, выдачу при­дет­ся верифи­циро­вать и переби­рать вруч­ную;
  • есть пара бес­плат­ных вари­антов с огра­ниче­нием на количес­тво зап­росов, но в выдаче при­сутс­тву­ет высокий про­цент шла­ка.

Да­же нес­мотря на то, что боль­шинс­тво ботов исполь­зует одни и те же источни­ки информа­ции, для уточ­нения дан­ных луч­ше при­менять сра­зу нес­коль­ко инс­тру­мен­тов — это повысит релеван­тность поис­ка и качес­тво резуль­татов. Тем не менее для серь­езно­го рас­сле­дова­ния без услуг про­фес­сиональ­ных про­бивал все рав­но не обой­тись: они име­ют дос­туп к акту­аль­ным слу­жеб­ным базам раз­личных государс­твен­ных и ком­мерчес­ких орга­низа­ций, вер­нее, связь с сот­рудни­ками, которые, в свою оче­редь, могут обра­щать­ся к этим базам.

Бо­ты могут под­ска­зать нап­равле­ние поис­ка и рас­ширить набор исходных дан­ных, но в качес­тве пол­ноцен­ного инс­тру­мен­та для пробива пер­сональ­ных дан­ных они вряд ли сго­дят­ся.

Еще по теме: Угон Телеграм и как от этого защититься

ВКонтактеTwitterFacebookOKTelegramWhatsAppViber

Мы собрали два с половиной десятка самых интересных ботов для Telegram. Некоторыми мы в iPhones.ru пользуемся очень давно. А другие обнаружили совсем недавно. Разбирайте.

1. Fast AID — ассистент для Telegram, предназначенный для предоставления первой помощи. Спас не одну жизнь.

2. GrammarNaziBot — проверяющий орфографию бот. Его можно добавить в общий чат, чтобы за неправильное правописание было стыдно всем.

3. Controller Bot — бот, предназначенный для администраторов каналов в Telegram, поддерживающий отсроченные публикации и не только.

4. Telegram Store Bot — а вот с помощью этого умного бота получится искать других ботов. Очень удобный ассистент, который помог создать эту подборку.

5. Arena Game — неординарный игровой бот, с помощью которого получится отвлечься на несколько минут на неординарный геймплей.

6. КриптоБот — бот, который следит ща стоимостью Bitcoin и Ethereum, а также показывает график изменения цены первого.

7. Weatherman — этот бот присылает погоду в избранных городах по графику. Окажется полезным переменчивой осенью.

8. TempMail — бот для Telegram, с помощью которого можно за секунды создать временный почтовый ящик для регистрации на сомнительных сервисах.

9. Киноман — а вот этот бот подскажет, какой фильм или сериал посмотреть сегодня вечером. Он следит за новинками не только на официальных ресурсах.

10. Yandex.Translate — бот для перевода с русского на английский, с английского на русский и наоборот. Один из самых полезных в подборке.

11. Ударения — бот расскажет об ударениях в самых хитроумных русских словах. Станет отличным подспорьем в нелепых спорах с друзьями.

12. InstaSave — интересный бот для Telegram, с помощью которого можно загрузить фотографии и даже истории из Instagram.

13. Pomodoro — неординарный бот-таймер для самой продуктивной работы. Он поможет 25 минут работать и 5 минут отдыхать.

14. MyCookBot — уникальный бот, который может подсказать какой-нибудь интересный рецепт на основании списка продуктов, завалявшихся в вашем холодильнике.

15. Vinci — бот-компаньон для одноименного мобильного приложения, которое предназначено для обработки фотографий нейронными сетями.

16. DeLorean — настоящая машина времени, которая поможет отправлять вам самому себе сообщения в будущее. Удобно вместо напоминаний.

17. To PDF — бот, предназначенный для конвертирования DOC, DOCX, ODT, TXT, JPG и других типов файлов в PDF.

18. Dr.Web — фирменный бот популярного антивирусного программного обеспечения, предназначенный для проверки файлов до 10 мб на вирусы.

19. Programming — бот, который заточен не только для профессиональных, но и для начинающих программистов.

20. SoundCloud — умный помощник для поиска и скачивания треков из популярного сервиса прямо через мессенджер.

21. EasyStrongPasswordBot — мобильный ассистент, заточенный под создание сложных паролей, который невозможно взломать.

22. Wolfram Alpha — ассистент, который будет решать математические задачки и рассказывать о научных принципах через Telegram.

23. PollBot — простой бот, предназначенный для создания вопросников в групповых чатах. Очень удобный.

24. Translator — максимально быстрый перевод между русским и английским языком. Очень простой и удобный.

25. Instagram Girls — бот для тех, кому грустно или скучно. Он показывает фотографии красивых девочек из Instagram.

? Хочешь больше? Подпишись на наш Telegram. … и не забывай читать наш Facebook и Twitter ? iPhones.ru Наши давние любимчики и новые неординарные находки. –> Что ты знаешь о геочатах в Telegram? А сможешь различить стеганографию в VideoNote (в народе — кругляши)? Разбираем то самое задание NeoQUEST-2020, которое вызвало больше всего вопросов и восклицаний на наш support! Спойлер: да-да, и здесь тоже будет немного крипты 🙂 В легенде NeoQUEST-2020 обнаруживаем ссылку на профиль путешествующего робота в Инстаграм. Ничего необычного, верно? Вот и мы тоже так решили, но решать задание все же надо, поэтому внимательно рассматриваем все картинки в профиле и ищем хоть какие-то подсказки. Немного медитации над красивой картинкой озера Байкал, и к нам приходит осознание, что зацепка находится именно в последнем посте: Благодаря картинке понимаем, что нужно как-то связать Байкал (Shaman Rock) и Telegram («U can join my…» — ничего не напоминает?). Сначала мы решили не давать участникам прямого намека на геочат (а ведь это именно он!), и многие из них успешно справились с задачей, воспользовавшись эмулятором или мобильным устройством с возможностью смены геопозиции. Шаманим Задаем координаты (53.20074, 107.349426) (можно на глаз) в районе скалы Шаманки и готовимся к самому сложному — ожиданию. Телеграм странно работает с геопозицией и подтягивает соответствующие контакты и чаты в течение часа. За наше старание и терпение нам воздается сполна — искомый чат появляется в разделе Контакты ->Найти людей рядом -> Группы рядом. Вуаля, мы в деле! Бот встречает нас задачкой в виде файлика some.bytes с неопознанным содержимым, в котором можем прочитать строки «Decrypt me» и «Apocalypse Spares Nobody». Первую строчку мы понимаем без всяких проблем, но вот что же означает вторая?.. Здесь участники поделились на два лагеря: одни писали нам на почту, так как попали в тупик, а другие внимательно вгляделись в словосочетание «Apocalypse Spares Nobody» и разглядели что? Верно! Старый-добрый формат ASN.1 (здесь мы уже писали о том, как его парсить). Давайте разбираться. Внутри находятся 2 структуры. В одной мы находим набор байтов с пометкой «Decrypt me», из чего предполагаем, что это шифртекст. Во второй структуре видим два числа. Вряд ли это ключ, щедро подаренный участником вместе с шифртекстом, значит, скорее всего. имеем дело с открытым ключом. Вся собранная информация приводит нас к очевидному выводу — почему бы не попробовать RSA? Итак, перед нами модуль и открытый показатель, который, к слову, достаточно большой. После судорожного изучения RSA недолгих раздумий приходим к выводу, что закрытый показатель мал, а это значит что? Бинго! Мы определенно можем поиграть в «плохишей» и применить атаку Винера. Мы все продумали даже для тех, кто не любит криптографию — можно было воспользоваться готовым вариантом реализации атаки, например, этим. Дальше мы получаем значение закрытого показателя d=40553818206320299896275948250950248823966726834704013657854904761789429403771 и расшифровываем шифртекст: key=nq2020faAeFeGUCBjYf7UDrH9FapFCdFPa4u;pass=passCxws3jzYhp0HD5Fy84. Получаем ключ «nq2020faAeFeGUCBjYf7UDrH9FapFCdFPa4u» к первой части задания и пароль «passCxws3jzYhp0HD5Fy84», который нужно скормить бот-представителю. Его можно найти среди участников чата под именем @neoquestbot. Находясь на волне позитива от получения первого ключа, мы не сразу осознаем, что бот привередлив в общении и все время говорит, что не видит собеседника: Зато бот с радостью принимает сообщения-кругляши VideoNote и даже отвечает на них… тем же кругляшом: Кажется, что и видео, и звук те же самые, но это только на первый взгляд. А вдруг наш бот подает нам какие-то тайные знаки? Для выяснения этого сохраним и сравним оригинальное видео с ответом бота. Для этого и для последующих шагов нам отлично подходит пакет FFmpeg. Итак, посмотрим, что тут есть:

Формат aac -> flac, частота 44100 Гц -> 98000 Гц. Это выяснили, продолжаем дальше работать с аудио. Ловким движением рук вытаскиваем его из видео: То же самое можно сделать с нашим оригинальным сообщением, чтобы потом их сравнить. Для наглядности откроем обе дорожки в Audacity. Сразу в глаза бросается скачок амплитуды в аудио-ответе бота (особенно странно, если мы вообще молчали). При более близком рассмотрении заметим четкие границы интервалов при чередовании «волна-тишина»: Предлагаем отложить в сторону все дела и немного посчитать. Анализируем по фрагментам: 0 — 0,005 – тишина 0,005 – 0,01 – волна 0, 01 – 0,0225 – тишина 0,025 – 0,04 – волна 0,04 – 0,045 – тишина Самый маленький интервал – 0,005, и при этом все остальные интервалы кратны 0,005. Примем наличие волны в 0,005 за 1, а тишину за 0. Получаем не что иное, как бинарный код! Вспоминаем, что изменилась частота, и пробуем взглянуть на график спектра (Анализ -> График спектра): Видим, что самый мощный сигнал приходится на частоту ~44100 Гц, что является ультразвуком. Значит, дальше следует работать только с высокими частотами. На самом деле бот накладывает свой сигнал на оригинальное аудио в слышимом спектре. И те участники, у кого в оригинальном видео был звук, заметили это в Audacity. Отсекаем высокие частоты фильтром высоких частот либо в Audacity, либо в том же ffmpeg: Итак, у нас есть 16-битный моно wav-файл. Он состоит из заголовка, несжатого аудио-потока и метаданных. Сам по себе аудио-поток делится на фреймы (а фреймы могут хранить в себе несколько семплов, но это уже совсем другая история), в нашем случае по 16 бит (об этом говорят буковки pcm_s16 на скриншотах). Фреймы представляют собой последовательности бит, описывающие амплитуду волны в момент времени для одного или нескольких каналов (в нашем случае – для одного). Частота дискретизации аудио-потока равна 98000 (то есть на одну секунду приходится по 98000 фреймов), на интервал в 0,005 секунд приходится 490 фреймов. Следовательно, далее работаем по простому алгоритму: считываем по 490 фреймов, определяем, волна это или тишина, и, в зависимости от этого, выставляем бит в 0 или 1. Воспользуемся python и пакетом wave для парсинга wav-файлов. Если при открытии файла возникает ошибка «wave.Error: unknown format: 65534», то заменяем «wFormatTag» в заголовке с ‘FE FF’ на ’01 00′:

fh = open(input_file, "r+b") fh.seek(20) fh.write(b'x01x00') fh.close() 

Итак, открываем файл, обрабатываем по 490 фреймов и высчитываем усредненное значение:

file = wave.open(input_file,"r")     for i in range (1, int(file.getnframes()/490)+1):         frames = file.readframes(490)         bit = 0         sum = 0         for k in range(0, 246):             frame_bytes = frames[k*2:k*2+2]             sum += int.from_bytes(frame_bytes, "big")         if sum/490 > 16000:             bit = 1         bits.append(bit) 

Возможно, что там, где должна быть тишина (сравниваем с картинкой в Audacity), могут оставаться шумы. Поэтому задаем порог (пусть будет 16000), при превышении которого считаем сигнал равным 1. Затем группируем биты в байты:

bytes = []     for i in range (1, int(len(bits)/8)+1):         b1 = bits[i*8-8]         b2 = bits[i*8-7]         b3 = bits[i*8-6]         b4 = bits[i*8-5]         b5 = bits[i*8-4]         b6 = bits[i*8-3]         b7 = bits[i*8-2]         b8 = bits[i*8-1]         byte = (b1 << 7) | (b2 << 6) | (b3 << 5) | (b4 << 4) | (b5 << 3) | (b6 << 2) | (b7 << 1) | b8         bytes.append(byte.to_bytes(1, byteorder='big'))  

Если все сделано правильно, в результате получаем строку «Givemethepassword». Поскольку бот общается кругляшами с применением стеганографии, будет логичным подсунуть ему пароль (а мы его получили вместе с ключом в результате расшифрования) в том же формате. Для начала составляем аудио-дорожку с паролем. Для этого используем данные, полученные при разборе сообщения от бота: частота дискретизации 98000 Гц; продолжительность сигнала, описывающего каждый бит – 5 мс; частота сигнала, соответствующая битовому значению «1» — как мы видели по графикам, 44100 Гц. Теперь нам нужно «сгенерировать» тишину. Делаем это занулением:

sample_rate = 98000.0 def generate_silence(duration_milliseconds=5):     fragment = []     num_samples = duration_milliseconds * (sample_rate / 1000.0)     for x in range(int(num_samples)):          fragment.append(0.0)     return fragment 

Для генерации звука будем использовать синусоиду (информацию можно прочитать тут):

def generate_sinewave(         freq=41000.0,          duration_milliseconds=5,          volume=0.5):     fragment = []     amplitude = volume * 32767.0     num_samples = duration_milliseconds * (sample_rate / 1000.0)     for x in range(int(num_samples)):         fragment.append(amplitude * math.sin(2 * math.pi * freq * ( x / sample_rate )))     return fragment 

Теперь дело за малым: осталось преобразовать пароль в биты, а затем и в звук. Примечание: Бот использует оригинальную дорожку входного видео, чтобы наложить на нее свое сообщение, как было упомянуто ранее. Поэтому нужно добавить несколько нулевых байт после пароля, чтобы вытрясти из бота целый ключ, а не только его начало (длина ключа составляла 36 байт). Генерация звука

    audio = []     f = open(input_file, 'rb')     for character in f.read():         a = character         b8 = a & 0b00000001          b7 = (a & 0b00000010) >> 1          b6 = (a & 0b00000100) >> 2         b5 = (a & 0b00001000) >> 3         b4 = (a & 0b00010000) >> 4         b3 = (a & 0b00100000) >> 5         b2 = (a & 0b01000000) >> 6         b1 = (a & 0b10000000) >> 7         if b1 == 1:             audio += generate_sinewave()         else:             audio += generate_silence()         if b2 == 1:             audio += generate_sinewave()         else:             audio += generate_silence()         if b3 == 1:             audio += generate_sinewave()         else:             audio += generate_silence()         if b4 == 1:             audio += generate_sinewave()         else:             audio += generate_silence()         if b5 == 1:             audio += generate_sinewave()         else:             audio += generate_silence()         if b6 == 1:             audio += generate_sinewave()         else:             audio += generate_silence()         if b7 == 1:             audio += generate_sinewave()         else:             audio += generate_silence()         if b8 == 1:             audio += generate_sinewave()         else:             audio += generate_silence() 

Теперь сформируем готовый WAV-файл:

wav_file=wave.open(file_name,"w")     nchannels = 1     sampwidth = 2     nframes = len(audio)     comptype = "NONE"     compname = "not compressed"     wav_file.setparams((nchannels, sampwidth, sample_rate, nframes, comptype, compname))     for sample in audio:         wav_file.writeframes(struct.pack('h', int(sample)))     wav_file.close() 

Сохраняем нашу дорожку, например, в pass.wav. Попутно проверяем нашим стего-декодером, распознается ли пароль. Если все хорошо, то получаем новое видео с паролем из первоначального видео my_video.mp4, заменяя аудио-дорожку: Теперь надо сделать из этого VideoNote. Можно попробовать поискать работающие (кто-то из участников, например, нашел @TelescopyBot), а можно написать своего бота с помощью TelegramAPI. Anyway, пересылаем нашему боту: Получаем новый кругляш и поздравления (еще бы, такую работу проделали!), декодируем по уже отработанному сценарию аудио и получаем ключ: «nq2020SyOMK7SnnJP1sNlvbTs8zt35vUrrsD» Да уж, не зря стеганография считается одной из самых сложных областей кибербезопасности — попробуй тут догадаться про все эти нюансы! Но участники NeoQUEST продемонстрировали прекрасную сноровку и чувство юмора при выполнении этого задания, так что адресуем им наше (от бота поздравления они уже получили) искреннее восхищение!Используемые источники:

  • https://netology.ru/blog/bots-45
  • https://spy-soft.net/telegram-bots-for-finding-information/
  • https://www.iphones.ru/inotes/747160
  • https://habr.com/ru/company/neobit/blog/499366/

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий