• ! Привет посетитель !

    Зачем данный ресурс нужен ?

    В рунете было много ресурсов с интересными обсуждениями и работами по вирусным технологиям, а также в область ИБ.

    Но со временем у людей меняются интересы, а кто-то просто не может держать такие сайты, сайты удаляются, я подумал а печему-бы не сделать такой архив со статьями на тематику вирусов и ИБ.

    Цель ресурса:

    Собрать какие-то актуальные утеренные обсуждения и работы.

    Пока-что поднял два сайта:

    1) https://archivevx.net/exelab/f/

    2)Vxlab.info - Тут просто сделаю перепост статей сюда:https://archivevx.net/index.php?forums/vxlab-info-Статьи-ресурса.4/

Вирусы под андроид. №7 (Чистка APK)

Привет, дорогой Друг. Давно не было материалов, это все последствия работы. Последнее время что-то очень много навалилось. Но думаю скоро все наладится. Очень часто спрашивают, как же сделать APK чистым?

Историю эту начнем с того, что антивирусы по большей части полагаются на сигнатурный анализ. А значит, они не смогут отследить последовательность выполнения кода в памяти. Давайте перечислим места куда AV любят ставить детект:
  1. Подпись
  2. Ресурсы
  3. Манифест
  4. Последовательность вызываемых функций (Самый сложный)

Чистка подписи​

Ну начнем с самого простого, это цифровая подпись. Берёте и подписываете другим сертификатом. Сверяете детекты, если они пропали — значит вы справились. Сертификаты можно генерировать через встроенную утилиту подписи в Android Studio. Я бы даже сказал нужно, ведь неправильно созданный сертификат, это еще 1 детект к вашему зверю.

Чистка ресурсов​

Тут уже начинаются сложности, но не такие большие как в след пунктах. Ваша задача сделать приложение совсем не похожее на другое. Что нужно для этого?

  1. Переименовываете все файлы в ресурсах. (не забывайте менять пути в остальных файлах)
  2. Если есть картинки, то желательно к ним применить сжатие, чтобы изменилась контрольная сумма.
  3. Содержимое файлов xml желательно тоже менять, но это не так критично.

Чистка манифеста​

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

  1. Изменить имя пакета APK.
  2. Далее идет изменения названия классов указанных в манифесте, при этом не забывайте менять названия файлов и сами классы в файле. Android Studio делает это очень удобно.
  3. Изменение расположение элементов внутри xml.

Чистка кода​

Тут вам поможет только фантазия. Основная задача — изменить цепочку вызываемых функций. Можно добавлять мусор или просто изменить алгоритм на другой. Все зависит от того какой у вас проект. Так же вам придется написать какую нибудь простую функцию шифрования статических строк.

Мы возьмем base64:
Код:
static String Encode64(String text){
byte[] data = text.getBytes("UTF-8");
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
return base64;
}
 
static String Decode64(String base64){
byte[] data = Base64.decode(base64, Base64.DEFAULT);
String text = new String(data, "UTF-8");
return text;
}

Нам потребуется Decode64. Только переименуем для удобства ее в одну букву. К примеру D.
Код:
static String D(String base64)

Теперь скрываем все строки с помощью base64. Вставляем вместо обычного текста в нашем коде наши заготовки.

Было:
Код:
Toast.makeText(context, "test", Toast.LENGTH_SHORT).show();

Стало:
Код:
Toast.makeText(context, D("dGVzdA=="), Toast.LENGTH_SHORT).show();

То есть при исполнении функции строка декодируется и будет нормальной 🙂

Автоматизация​

На рынке существует полно инструментов упрощающих вашу жизнь, опишу ту что использовал сам:

  1. Stringer — обфускатор APK файлов, один из лучших вроде как. Честно я не пользовался, но отзывы у него хорошие.
  2. proGuard — входит в комплект Android Studio. Код обфусцирует хорошо, но минус его 1 и очень большой. Он только изменяет код, ни чего больше. То есть переменные, ресурсы, манифест — все останется как и было. Но это не значит что его надо выкинуть. Выполнив все мои рекомендации и подключив этот обфускатор. Можно добиться хороших результатов и бесплатно.
  3. Куча других обфускаторов. (см. Гугл)

Завершение​

Описанные методы, всего лишь начало обфускации. Когда вы займетесь этим плотно, вы найдёте еще массу идей. Этот материал лишь введение, чтобы ты, мой юный друг, понимал как это происходит.