maxistent

maxistent

Пикабушник
Дата рождения: 15 декабря
100 рейтинг 0 подписчиков 0 подписок 2 поста 0 в горячем
1

DroidSurvix: весь путь "шпиёна" от идеи до реализации

DroidSurvix: весь путь "шпиёна" от идеи до реализации

Всех категорически приветствую!

Немного забегая вперёд нужно отметить, что вся информация ниже представлена исключительно в "мирных" (образовательных) целях. Автор ничего не рекламирует и ни о чём противозаконном не повествует. Негласная слежка, прослушка, шпионаж запрещены во многих странах мира!

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

В далёком 2009 году появилось желание (не скажу, что прям необходимость - именно желание, из любопытства) понаблюдать за человечком со стороны и понять, что он из себя представляет. А делать это на расстоянии и в гражданском сегменте можно было разве что через телефон. Тогда у нас ещё были телефоны на базе Symbian и что-то более-менее работоспособное в этом направлении найти было довольно сложно. Приходилось писать скрипты на Python'е, ставить дополнительные интерпретаторы, всякие автозапускальщики и т.д. Затем в руках появился Android - тут уже дело пошло по-интереснее: появились готовые решения, которые можно было "установить и расслабиться". Но их функционал и стабильность оставляли желать лучшего... Так и жили с костылями, пока на глаза не попался один довольно мощный инструмент разработки: Embarcadero RAD Studio. Ааа, сорян, нужно же наверное хоть немного представиться: Макс, 39 лет, разработчик ПО (на заказ и для самого себя). Периодически возникает необходимость в том или ином функционале, который не могу найти в стороннем ПО, поэтому частенько приходится решать свои задачи самостоятельно. А посему появилась идея создать полноценное многофункциональное приложение для наблюдения за Android-устройством. Но теперь уже это было связано с совсем другим человечком - ребёнок. А дети и подростки, как известно, часто попадают под дурное влияние в сети. Считаю, этому следует уделять особое внимание.

Так вот... Малознакомый мне язык Java полноценно изучать было некогда. Да и зачем? Есть же Embarcadero RAD Studio - среда для разработки нативных приложений под разные платформы на языке Delphi. Да-да =) Delphi уже давно является полноценным ООП-языком. Его я знаю со школьной скамьи и на тот момент (2018 год) уже владел достаточным опытом разработки ПО для рабочих станций, но вот с разработкой под Android столкнулся впервые. В общем, через пару лет активной работы в RAD Studio (на основной работе) удалось подружиться с различными аспектами и нюансами кроссплатформенной разработки (особенно мобильной) и в 2020-ом рука всё-таки потянулась: начал изучать документацию, искать решения различных смежных задач, создал проект и "начал начинать". Было это всё довольно долго, муторно и очень не просто. Через пару лет периодических попыток "дописать" идея подзаглохла, т.к. не удавалось реализовать некоторые ключевые моменты (например, стабильно работающий и запускающийся автоматически фоновый сервис). Основной проблемой был проброс вызовов Android-функций из Delphi-кода, особенно при работе с AccessibilityService. Работало это крайне костыльно, доступной документации было мало, да и времени на это всё катастрофически нехватало.

С открытием публичных ИИ-сервисов [а для меня это было реальное "открытие" =) ] ситуация кардинально изменилась - с их помощью мне удалось найти ответы на все интересующие вопросы (даже с фрагментами кода). К тому же, сама среда разработки уже "подросла" и обзавелась новыми функциями, появились нужные JNI-обёртки и т.д., сборка стала ощутимо проще и приятнее и т.д. Ещё год усердной работы - и вот он, DroidSurvix! К концу 2025 года вышел в свет полноценно функционирующий сервис, позволяющий удалённо наблюдать за Android-устройством. Многие, наверное, уже ощутили наплыв подобных мыслей: "Ну и на кой это всё надо? В сети же полно всяких следилок, локаторов и блокировщиков для детей!"

Всё верно, "всяких" сервисов полно. Но в большинстве случаев они бесполезны, скудны по функционалу или работают нестабильно. Просто отслеживать местоположение или ограничивать использование смартфона ребёнком можно через тот же гугловский Family Link...

Здесь же реализован целый комплекс функций, позволяющих осуществлять именно контроль действий ребёнка:

  • Чтение с экрана - пожалуй, самая важная и уникальная функция, позволяющая родителю видеть всё, что читает и пишет дитё. Мессенджеры, браузеры, игры - всё под контролем. Выглядит это как белый холст с текстовыми блоками - вполне читабельно. Настраивается под конкретные приложения;

  • Снимки экрана - когда текстовой информации с экрана недостаточно. Это уже полноценный скриншот, который можно получать с заданным интервалом, а также настроить на отдельные приложения;

  • Чтение уведомлений - там тоже иногда проскакивает важная информация;

  • Запись окружения - запись звука с микрофона с заданной продолжительностью и по расписанию;

  • Запись VoIP-звонков в мессенджерах - дети и подростки всё чаще общаются голосом. Особенно напрягают звонки от мошенников и различных манипуляторов (вы наверняка слышали про то, как детей призывают совершить тот или иной нежелательный поступок под разными "безобидными" предлогами?);

  • Получение снимка с камеры при попытке разблокировки устройства (например, если смартфон потерян/украден);

  • Логирование истории перемещений (GPS, мобильные сети, WiFi);

  • Просмотр СМС, телефонных вызовов, снимков с камеры, изменений в контактах и приложениях и др.

В итоге удалось наконец-то реализовать задумку: приложение получилось достаточно функциональное, стабильное, работает в фоне, внимания не привлекает, не пожирает ресурсы (как это зачастую делают другие аналоги), при наличии связи передаёт зашифрованные данные на сервер, а при отсутствии связи хранит их до тех пор, пока не выгрузит. На сервере всё это хранится в БД зашифрованном виде. Решил шифровать файлы и текстовую информацию достаточно сложным алгоритмом, чтобы даже в случае получения злоумышленниками доступа к БД (или кражи всей БД или некоторых её частей) они не смогли воспользоваться полученными данными. К серверу доступ снаружи тоже закрыл, а то желающих "пробраться" туда уже было довольно много. Алгоритмы шифрования и применяемые на сервере технологии описывать не буду из соображений безопасности. Скажу лишь, что постарался максимально обойтись без широко известных стандартных решений и фреймворков, а также исключил возможность SQL-инъекций, чтобы свести к минимуму вероятность взлома.

Для просмотра накопленной информации создал мобильный клиент под Android в той же Delphi (которая, к слову, у меня версии 12.2). Теперь начал разработку веб-версии, но это уже совсем другая история...

В общем, получился вполне работоспособный проект, написанный полностью на Delphi (за исключением некоторых JAVA-вставок, без которых пока не удаётся решить некоторые моменты). Ссылки здесь размещать не буду, чтобы не сочли этот пост рекламой. Ну а если кому-то эта тема интересна - гугл в помощь, найти проект по названию не составит особого труда.

Всем спасибо за внимание. Помидорами прошу не кидаться, т.к. это моя первая публикация )))

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества