Начинаем второй мини урок или куда прикрутить наше чудо, которое мы написали. Я не буду описывать как написать админку с нуля или как правильно писать сайты. Тут будет чисто теория и методы. Итак приступим. Первое, что нам потребуется это гейт.
Гейт – это скрипт который будет принимать, отдавать команды. К примеру админка у нас стоит на http://site.ru/. Создаем скрипт gate.php. И кладём его в корень. Получаем наш гейт http://site.ru/gate.php. Важно: нельзя использовать слова gate и слова-маячки. Трафик может снифаться.
Этот скрипт будет принимать и отдавать команды. Самый верный способ – это отправка данных методом post и чтение вывода.
Получаем простую цепочку:
1. Определяем гейт.
2. Шлем отстук.
3. Забираем задачи, что гейт нам даст в ответ. (Лучше всего задачи забирать по одной, так как нам важно время обработки команд и память которыю мы используем на телефоне. Ведь там не как на компе, гигабайты ее. А java она все таки местами прожорливая.)
4. Шаг не всегда отрабатывает, так как не всегда нам нужно слать отчет о выполнении команд. Но если все таки надо. То мы это делаем 2м пунктом, но с определенным флагом.
Почему post? Чтобы в логах не было ничего кроме имени гейта.
А ,что слать то?
В отстук входят все основные параметры такие как imei, версия os, sdk, различные параметры пользователя. Кстати если вы не знаете как генерировать bot id, то imei будет в самый раз, чтобы различать всех ботов. Так как это уникальный параметр телефона. Все что вы считаете нужным, отсылаете, а ответ обрабатываете.
Список параметров рекомендуемый для отстука:
1. imei (id бота)
2. оператор
3. версия os
4. версия sdk(для разграничения функционала, так как до 4.4 и после разные методы работы используются)
5. модель телефона
6. серийный номер
7. есть ли рут (использовать расширенный функционал и консоль устройства)
8. версия билда (по этому параметру можно обновлять старые версии)
9. Номер телефона
10. Другии параметры важные вам
Формат запросов, самый удобный на мой взгляд это json. Но мы живем в 21м веке и этого мало. Это все надо шифровать еще. Почему json? Его очень легко обрабатывать и на стороне сервера и на стороне клиента.Далее мы накладываем алгоритм шифрования. Самый простой это будет RC4, хотя их много, как говорится, на вкус и цвет товарища нет. Но тут мы столкнемся с одной проблемой, у нас могут появитсья всякого рода спец символы, с которыми возникнут сложности при передаче и декодировании. Выходом является обёртка из base64.
Алгоритм получается следующий:
1. Составляем json
2. Шифруем его RC4 или любым другим алгоритмом.
3. Оформляем в base64
4. Отправляем
5. Читаем вывод гейта.
6. Делаем все в обратном порядке. Снимаем base64 , расшифровываем, разбираем json. Если надо отрабатываем определенные действия.
Важный момент, что при обработке результата, нужно проверять, а действительно ли это админка. То есть должны быть специфичные сигнатуры ответа. Если их нет. То перестаем туда стучать.
Так же стоит учитывать, что на телефоне время отстука может чуток отличаться, я имею ввиду интервалы. Все это из-за специфичной работы сервисов на телефоне. Поэтому стоит брать время ожидания с запасом, для определения онлайн бот или нет.
Если что вспомню, допишу в комментариях. Получилось очень мало, так как написание админок – тема широко освещаемая. Просто механическая работа PHP программиста. Принял , обработал, отдал.
Следующий материал будет про сбор информации с телефона, где мы плотно рассмотрим, как и что можно с него грабить.
Первая часть статьи — Как написать вирус для андроид.
За статью отдельное спасибо автору.
6 comments On Как написать вирус для андроид. Часть 2
Ребят, автора неправильно указали, нужно — https://vxlab.info/blog/author/allmore/
И источник желательно ставить в начале — https://vxlab.info
Pingback: Как написать вирус для Андроид. Часть 3 - Cryptoworld ()
Pingback: Как написать вирус для Андроид. Часть 4 - Cryptoworld ()
Pingback: Как написать вирус для Андроид. Часть 6 - Cryptoworld ()
Pingback: Вирусы для Android. Способы заражения. - Cryptoworld ()
Pingback: Как взломать платное приложение на Android - Cryptoworld ()