Бесплатно Криптор на C++

Everest_RR

Местный
Private Club
Регистрация
8/10/18
Сообщения
232
Репутация
20
Реакции
255
RUB
0
images

Криптор на C++

Из чего состоит криптор, как проект:



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) Завершающий код, где мы дешифируем и инжектим файл:




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

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

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




Отлично, все работает!
Читать статью на:
 
Spasibo poleznaya informatsiya
 
Сверху Снизу