Загрузка...

[C++] Криптор своими руками

Тема в разделе Вирусология создана пользователем gigvabes 16 май 2018. 10 144 просмотра

  1. gigvabes
    gigvabes Автор темы 16 май 2018 145 2 май 2018
    Привет, сегодня я расскажу как сделать простой криптор на C++ БЕЗ использования .NEТ и прочей чепухи.

    Из чего состоит любой криптор, как проект:
    1) Стаб - это шаблон с готовыми функциями
    2) Билдер - та программ, которая заполняет шаблон

    Функционал билдера:
    - Шифрование файла (вируса) с помощью XOR
    - Pump файла. Реализован будет через "factor".
    - Заполнения шаблона

    Функционал стаба:
    - Распаковка и запуск файла в памяти
    - Защита от виртуальной машины
    - Мутация (рандомная) кода (кривая)

    1. Начнем с общей подготовки:

    1) Для начала создадим проект (на C++, никакого шарпа):
    [IMG]
    (нажимаем "ок")
    2) Далее создаем еще один проект и общий хедер (в котором будет зашифрованный ключ):
    [IMG]
    3) Теперь подключаем хедер, исходный код, которого можно найти здесь: https://pastebin.com/yrBHGBur
    Данный хедер отвечает за шифрование данных. Таким образом реверсер не сможет просмотреть содержание (константных) строк.
    *Использование:
    Код:
    #include "xor.h" //сверху

    XorStr("Тут ваш текст");

    Подключаем наш хедер и объявляем переменную-ключ:
    [IMG]

    4) Чтобы определится какой ключ нам нужен воспользуемся онлайн хешатором:
    [IMG]

    5) В итоге хедер должен выглядеть вот так:
    [IMG]

    2. Далее билдер:

    1) Определимся как будет работать билдер:
    Запись байтов файла для крипта в переменную -> Памп, если надо -> XOR ресурсов -> Запись настроек в ресурсы -> Запись байтов в ресурсы

    2) Создадим Main.cpp для билдера и подключим заголовки:
    [IMG]

    3) Шаг 1 - Запись байтов файла для крипта в ресурсы:

    1. Сделаем так, чтобы стаб копировался и не приходилось делать кучу однотипной работы все время:
    [IMG]

    2. Считаем байты в vector<unsigned char>
    [IMG]

    4) Шаг 2 - Памп, если надо:
    [IMG]

    5) Шаг 3 - XOR байтов (написал отдельную функцию, которую потом скопирую в стаб):
    [IMG]
    [IMG]

    6) Шаг 4 - Записываем настройки:
    [IMG]

    7) Шаг 5 - Записываем байты:
    [IMG]

    Готово! Исходный код будет внизу темы (для тех кому лень читать).

    3. Теперь перейдем к стабу:

    Оформим Main.cpp:
    [IMG]

    Добавим RunPe.h с этим содержимом https://pastebin.com/VjGRxxj3

    1) Определимся, как будет работать стаб:
    Определение настроек -> Определение ВМ (опционально) -> Раскриптовка файла -> Инжект в себя же или в attrib.exe -> Мутация кода

    2) Начнем с определения настроек, для этого нам понадобится функция для чтения байтов из ресурсов:
    [IMG]

    Теперь загрузим настройки:
    [IMG]

    3) Проверяем на ВМ:
    [IMG]

    4) Завершающий код, где мы дешифируем и инжектим файл:
    [IMG]

    *Я не забыл про мутацию кода, она будет в проекте, который можно скачать в конце темы.
    ===========================================================
    Проверим работоспособность криптора:
    [IMG]

    Отлично, все работает!

    Скачать проект: ТЫК
     
  2. SyDeco
    SyDeco 5 июн 2018 Заблокирован(а) 1 4 май 2018
    C# ратник не закриптует?
     
  3. Checkerchin
    Checkerchin 1 ноя 2018 178 16 апр 2017
    Зачем подключать fstream, когда ты читаешь файла при помощи ReadFile ??
     
  4. Checkerchin
    Checkerchin 1 ноя 2018 178 16 апр 2017
    Ты забыл еще код для WriteResources()
     
  5. Checkerchin
    Checkerchin 1 ноя 2018 178 16 апр 2017
    Кстати в твоем проекте, половину функций вообще не нужна и не используется.
    Походу это паста откуда-то
     
  6. UNNEKAST
    UNNEKAST 1 ноя 2018 DMA FIRMWARE FACEIT/VGK TPM PERMANENTLY SPOOF 699 18 окт 2018
    Checkerchin, +,в одном тг канале видел около полугода назад
     
  7. Checkerchin
    Checkerchin 1 ноя 2018 178 16 апр 2017
    ебать древняя паста
     
  8. Fockstrot
    Fockstrot 1 ноя 2018 Заблокирован(а) 1488 14 май 2016
    Ебать тема с мая
     
  9. Checkerchin
    Checkerchin 1 ноя 2018 178 16 апр 2017
    ебать не видел
     
Загрузка...
Top