Всем привет !
Был ресурс с первой версией протектора:Малварь как искусство - Как сделать криптор на С++. Часть 2. Делаем примитив [Deleted]
Но так-как тема не получила развития, решил её удалить.
Но тем не менее, было какое-то чувство незавершённости, решил немного доработать тот протектор.
Что было сделано:
1)Подчистил код от мусора, очень хреновый там код был. Он и сейчас хреновый, но уже лучше.
2)Сделал "антиэмуляцию", что сделал:
2.1)Выделяются два больших буфера в памяти (Оба по 500 мегабайт).
2.2)Далее один буфер заполняется "мусором".
2.3)Этот "мусор" записывается в файл, во временный каталог пользователя, т.е. получим файл в 500 мегабайт с мусором.
2.4)Далее считываем содержимое файла во второй буфер, т.е. то-что мы выделили в первом пункте.
2.5)Проверяем эти два куска памяти на равенство, если они равны, идём дальше.
2.6)Во втором буфере формируем ключ для расшифровки, как можете посмотреть в исходниках. :)
2.7)Расшифровываем и запускаем в памяти.
2.8)Чистим всё.
Ограничения:
Криптовать можно только x32 RunPE.
.NET криптовать нельзя.
Что в архиве:
Kryptor.exe - Гуй для криптовки.
Kryptor_Stub - Стаб.
putty_crypt.exe - Криптованный Putty, для теста.
putty.exe - Оригинал.
Сорцы:
Form1.h - Исходник гуя, на вижуалке можно запихнуть.
Kryptor_Stub.cpp - Исходник стаба.
Ссылка на исходники в VisualStudio 2013:Kryptor_Source_Visual.zip
РЕАКЦИЯ АНТИВИРУСОВ НА ДАРК_КОМЕТ:
До обработки:VirusTotal
После:
ПАРОЛЬ:111
Вроде всё ! :)