Загрузка...

[C++] DIY Cryptor

Thread in Virology created by gigvabes May 16, 2018. 10,161 view

  1. gigvabes
    gigvabes Topic starter May 16, 2018 145 May 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 Jun 5, 2018 Banned 1 May 4, 2018
    C# ратник не закриптует?
     
  3. Checkerchin
    Checkerchin Nov 1, 2018 178 Apr 16, 2017
    Зачем подключать fstream, когда ты читаешь файла при помощи ReadFile ??
     
  4. Checkerchin
    Checkerchin Nov 1, 2018 178 Apr 16, 2017
    Ты забыл еще код для WriteResources()
     
  5. Checkerchin
    Checkerchin Nov 1, 2018 178 Apr 16, 2017
    Кстати в твоем проекте, половину функций вообще не нужна и не используется.
    Походу это паста откуда-то
     
  6. МОРТИ
    МОРТИ Nov 1, 2018 DMA FIRMWARE FACEIT/VGK TPM PERMANENTLY SPOOF 701 Oct 18, 2018
    Checkerchin, +,в одном тг канале видел около полугода назад
     
  7. Checkerchin
    Checkerchin Nov 1, 2018 178 Apr 16, 2017
    ебать древняя паста
     
  8. Fockstrot
    Fockstrot Nov 1, 2018 Banned 1466 May 14, 2016
    Ебать тема с мая
     
  9. Checkerchin
    Checkerchin Nov 1, 2018 178 Apr 16, 2017
    ебать не видел
     
Loading...
Top