Перейти к содержанию
Авторизация  
Seal

ПО которое замораживает процесс

Рекомендуемые сообщения

Добрый вечер.Есть такая штука "susped" например она есть в известном ПО...Process Hacker,она полностью замораживает определенный процесс,хотелось бы узнать принцип ее работы,как ее можно реализовать,с какими функциями.

Изменено пользователем Seal
поправка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
51 минуту назад, Seal сказал:

полностью замораживает определенный процесс

51 минуту назад, Seal сказал:

как ее можно реализовать

Способ 1:

Скрытый текст

 

MI34JyG.jpg

-

tgbBVil.jpg

-

AJ7NFxi.jpg

 

Способ 2:

Скрытый текст

AOEMZAI.jpg

-

4wJjFIJ.jpg

-

4DZsCyd.jpg

 

Изменено пользователем vagingameh

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, vagingameh сказал:

Способ 1:

  Показать содержимое

 

MI34JyG.jpg

-

tgbBVil.jpg

-

AJ7NFxi.jpg

 

Способ 2:

  Показать содержимое

AOEMZAI.jpg

-

4wJjFIJ.jpg

-

4DZsCyd.jpg

 

 

Спасибо!)) но я имел виду принцип работы на уровне программирования,хотел сам попробовать такую штуку замутить. 

Изменено пользователем Seal
поправка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обычный способ:

Остановка процесса через SuspendThread();

Восстановление ResumeThread();

Т.е перебираешь все потоки процесса и останавливаешь их.

 

С помощь недокументированных функций, тут просто создаешь прототип функции, а после вызываешь его, восстанавливаешь примерно так же.

typedef LONG (NTAPI *NtSuspendProcess)(IN HANDLE ProcessHandle);
NtSuspendProcess pfnNtSuspendProcess = (NtSuspendProcess)GetProcAddress(GetModuleHandle("ntdll"), "NtSuspendProcess");
HANDLE processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId));
pfnNtSuspendProcess(processHandle);

 

 

  • Плюс 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, kiwipapayamongoose сказал:

Обычный способ:

Остановка процесса через SuspendThread();

Восстановление ResumeThread();

Т.е перебираешь все потоки процесса и останавливаешь их.

 

С помощь недокументированных функций, тут просто создаешь прототип функции, а после вызываешь его, восстанавливаешь примерно так же.


typedef LONG (NTAPI *NtSuspendProcess)(IN HANDLE ProcessHandle);
NtSuspendProcess pfnNtSuspendProcess = (NtSuspendProcess)GetProcAddress(GetModuleHandle("ntdll"), "NtSuspendProcess");
HANDLE processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId));
pfnNtSuspendProcess(processHandle);

Спасибо вам большое !

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

pause() -- поставить на паузу

unpause() -- снять

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, horror113 сказал:

pause() -- поставить на паузу

unpause() -- снять

Впервые слышу о таких функциях.

 

Заморозить процесс можно при помощи NtSuspendProcess, но она вроде как до XP винды работает.

На винде повыше заморозить процесс нельзя, а можно , как сказал человек выше, заморозить все потоки процесса в том числе и главный, но после его разморозки ты можешь получить побочные эффекты

Изменено пользователем DaVilka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 hours ago, DaVilka said:

Заморозить процесс можно при помощи NtSuspendProcess

 

pause / unpause это lua-функции в CE. Ребята так намекали что CE это умеет, что я пошел и посмотрел как делает это он ) К слову что можно было бы и сразу сделать :)

В общем он действительно использует NtSuspendProcess и NtResumeProcess:

Cheat Engine/CEDebugger.pas#L271

Cheat Engine/AdvancedOptionsUnit.pas#L623

 

  • Плюс 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

×

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.