C++ /del

Femboy Access
Эксперт
Статус
Оффлайн
Регистрация
11 Ноя 2020
Сообщения
1,333
Реакции[?]
428
Поинты[?]
96K
процессхакер - EnumDeviceDriver:
Пожалуйста, авторизуйтесь для просмотра ссылки.

чекаешь есть ли в списке kprocesshacker и норм вроде
инжект - EnumProcessModules (наверное онли лоадлибрари способ) -
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Начинающий
Статус
Оффлайн
Регистрация
7 Июл 2022
Сообщения
78
Реакции[?]
10
Поинты[?]
6K
процессхакер - EnumDeviceDriver:
Пожалуйста, авторизуйтесь для просмотра ссылки.

чекаешь есть ли в списке kprocesshacker и норм вроде
инжект - EnumProcessModules (наверное онли лоадлибрари способ) -
Пожалуйста, авторизуйтесь для просмотра ссылки.
К сожалению не поможет от пропатченного процесс хакера :(
 
Пользователь
Статус
Оффлайн
Регистрация
8 Апр 2022
Сообщения
663
Реакции[?]
104
Поинты[?]
67K
ну инжект можешь хукнуть loadlibrary(конечно же, только инжект ll`ом детектит)
 
IRQL_APC_LEVEL
Пользователь
Статус
Оффлайн
Регистрация
25 Авг 2018
Сообщения
211
Реакции[?]
88
Поинты[?]
3K
Из первого, что приходит в голову:
1) LdrRegisterDllNotification
2) Энумить все потоки и смотреть адрес старта потока и инфу о нем (из инфы можно понять ремоут это поток или нет)
3) Каким-либо образом установить себе SECURITY_MANDATORY_PROTECTED_PROCESS_RID, а вместе с ним и ACG aka "Dynamic code prohbited" (НО, тут важно учитывать тот факт, что это будет работать только на виндах от 10)

P.s. Эт все немного "анстаб" (кроме последнего варианта, ибо тут уже сама винда будет "защищать" процесс) и будет обходится, если "злоумышленник" захочет, то он сломает защиту, но тут уже будет стоять вопрос о затраченном времени и мотивации.
 
Пользователь
Статус
Оффлайн
Регистрация
23 Окт 2020
Сообщения
98
Реакции[?]
46
Поинты[?]
0
C++:
#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;
}
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
Из первого, что приходит в голову:
1) LdrRegisterDllNotification
2) Энумить все потоки и смотреть адрес старта потока и инфу о нем (из инфы можно понять ремоут это поток или нет)
3) Каким-либо образом установить себе SECURITY_MANDATORY_PROTECTED_PROCESS_RID, а вместе с ним и ACG aka "Dynamic code prohbited" (НО, тут важно учитывать тот факт, что это будет работать только на виндах от 10)

P.s. Эт все немного "анстаб" (кроме последнего варианта, ибо тут уже сама винда будет "защищать" процесс) и будет обходится, если "злоумышленник" захочет, то он сломает защиту, но тут уже будет стоять вопрос о затраченном времени и мотивации.
спасибо за информацию! не подскажете, "энумить все потоки" - мне это в копеечку не выйдет? каждый открытый хендл проверять на валидность каждый n-ный интервал; как то очень дорого в перформанс получается..
 
feel irl
Участник
Статус
Оффлайн
Регистрация
21 Дек 2018
Сообщения
677
Реакции[?]
294
Поинты[?]
16K
спасибо за информацию! не подскажете, "энумить все потоки" - мне это в копеечку не выйдет? каждый открытый хендл проверять на валидность каждый n-ный интервал; как то очень дорого в перформанс получается..
Зачем каждый n-ый интервал?
C++:
while(true)
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
Зачем каждый n-ый интервал?
C++:
while(true)
ну конкретно в этом случае я имел ввиду циклы процессора, буквально n-ный интервал, чтоб на уровень денуво не выводить регресс перформанса
 
Похожие темы
Сверху Снизу