[C++] Нативный криптор своими руками

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 3K
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Привет, сегодня я расскажу как сделать простой криптор на C++ БЕЗ использования .NEТ и прочей чепухи.



Из чего состоит любой криптор, как проект:

1) Стаб - это шаблон с готовыми функциями

2) Билдер - та программ, которая заполняет шаблон



Функционал билдера:

- Шифрование файла (вируса) с помощью XOR

- Pump файла. Реализован будет через "factor".

- Заполнения шаблона



Функционал стаба:

- Распаковка и запуск файла в памяти

- Защита от виртуальной машины

- Мутация (рандомная) кода (кривая)



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



1) Для начала создадим проект (на C++, никакого шарпа):






(нажимаем "ок")

2) Далее создаем еще один проект и общий хедер (в котором будет зашифрованный ключ):






3) Теперь подключаем хедер, исходный код, которого можно найти здесь:
Данный хедер отвечает за шифрование данных. Таким образом реверсер не сможет просмотреть содержание (константных) строк.

*Использование:

Код:

#include "xor.h" //сверху

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

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






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




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




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



1) Определимся как будет работать билдер:

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



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






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



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




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






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




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





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




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




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



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



Оформим Main.cpp:






Добавим RunPe.h с этим содержимом


1) Определимся, как будет работать стаб:

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



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






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






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






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






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

===========================================================

Проверим работоспособность криптора:




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



Скачать проект:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
 

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Спасибо) Завтра буду тестировать
 

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Годно) В то году похожую штуку на c# писал
 

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Годненько, правда я больше не люблю С++, после того, как писал самописный алгоритм шифр-дешифрования AES-256. Жуть полнейшая. Ох уж эта математика ((((
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя