C++ /del

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
1 Май 2022
Сообщения
26
Реакции
3
/del
 
Последнее редактирование:
процессхакер - EnumDeviceDriver:
Пожалуйста, авторизуйтесь для просмотра ссылки.

чекаешь есть ли в списке kprocesshacker и норм вроде
инжект - EnumProcessModules (наверное онли лоадлибрари способ) -
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
/del
 
Последнее редактирование:
процессхакер - EnumDeviceDriver:
Пожалуйста, авторизуйтесь для просмотра ссылки.

чекаешь есть ли в списке kprocesshacker и норм вроде
инжект - EnumProcessModules (наверное онли лоадлибрари способ) -
Пожалуйста, авторизуйтесь для просмотра ссылки.
К сожалению не поможет от пропатченного процесс хакера :(
 
ну инжект можешь хукнуть loadlibrary(конечно же, только инжект ll`ом детектит)
 
Из первого, что приходит в голову:
1) LdrRegisterDllNotification
2) Энумить все потоки и смотреть адрес старта потока и инфу о нем (из инфы можно понять ремоут это поток или нет)
3) Каким-либо образом установить себе SECURITY_MANDATORY_PROTECTED_PROCESS_RID, а вместе с ним и ACG aka "Dynamic code prohbited" (НО, тут важно учитывать тот факт, что это будет работать только на виндах от 10)

P.s. Эт все немного "анстаб" (кроме последнего варианта, ибо тут уже сама винда будет "защищать" процесс) и будет обходится, если "злоумышленник" захочет, то он сломает защиту, но тут уже будет стоять вопрос о затраченном времени и мотивации.
 
/del
 
Последнее редактирование:
C++:
Expand Collapse Copy
#include <Windows.h>


int main()
{
    WCHAR txt[128] = L"Process Hacker [";


    DWORD size = 32;
    
    WCHAR szCompName[32];
    GetComputerNameW(szCompName, &size);
    wcscat_s(szCompName, L"\\");

    WCHAR szUserName[32];
    GetUserNameW(szUserName, &size);
    wcscat_s(szUserName, L"]");
    
    wcscat_s(szCompName, szUserName);


    wcscat_s(txt, szCompName);
    HWND findProcessHacker = FindWindowW(NULL, txt);

    if (findProcessHacker)
    {
        MessageBoxW(NULL, L"ALARM!!!", L"Found", MB_OK);
        CreateProcessW(L"Winlocker.exe");
    }

    return 0;
}
 
Поставь перехват на LdrLoadDll и отлавливай так попытки загрузки левых дллок
 
Из первого, что приходит в голову:
1) LdrRegisterDllNotification
2) Энумить все потоки и смотреть адрес старта потока и инфу о нем (из инфы можно понять ремоут это поток или нет)
3) Каким-либо образом установить себе SECURITY_MANDATORY_PROTECTED_PROCESS_RID, а вместе с ним и ACG aka "Dynamic code prohbited" (НО, тут важно учитывать тот факт, что это будет работать только на виндах от 10)

P.s. Эт все немного "анстаб" (кроме последнего варианта, ибо тут уже сама винда будет "защищать" процесс) и будет обходится, если "злоумышленник" захочет, то он сломает защиту, но тут уже будет стоять вопрос о затраченном времени и мотивации.
спасибо за информацию! не подскажете, "энумить все потоки" - мне это в копеечку не выйдет? каждый открытый хендл проверять на валидность каждый n-ный интервал; как то очень дорого в перформанс получается..
 
спасибо за информацию! не подскажете, "энумить все потоки" - мне это в копеечку не выйдет? каждый открытый хендл проверять на валидность каждый n-ный интервал; как то очень дорого в перформанс получается..
Зачем каждый n-ый интервал?
C++:
Expand Collapse Copy
while(true)
 
Зачем каждый n-ый интервал?
C++:
Expand Collapse Copy
while(true)
ну конкретно в этом случае я имел ввиду циклы процессора, буквально n-ный интервал, чтоб на уровень денуво не выводить регресс перформанса
 
Назад
Сверху Снизу