| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Как изменить PID процесса? |
| Автор: Sunvas 10.9.2006, 01:23 |
| Долго объяснять "почему?". Просто нужно сделать. |
| Автор: Voyager 10.9.2006, 09:19 |
| А это вообще возможно? |
| Автор: Matematik 10.9.2006, 09:22 |
| Может и возможно, только для каждой версии ОС придется делать поразному, очень сложно, т.е. почти нереально. Лучше не пытайся. PS с такими вопросами тебе на wasm.ru |
| Автор: BUGOR 10.9.2006, 09:40 |
| Вообще не знаю, что будет с процессом после этого. Все хендлы в системе хранятся в таблицах хендлов. Задача нетривиальная, описания этих таблиц и структур нет нигде, нужно дизассемлировать ядро и всё искать самому... Испугался? |
| Автор: RA 10.9.2006, 20:36 |
| http://ntndis.com/forum/viewtopic.php?t=52 |
| Автор: ne0n 11.9.2006, 17:20 |
| По сути требутся чтобы процесс нельзя было зовершить. Зачем измудрятсь с подменой PID? Во-первых Sunvas, тебе требуется не изменить PID, а подменить его. Если ты его изменишь программу можно будет закрыть. По этому предлагаю использовать глюк винды. Значит так допустим есть у тебя папка C:\1\myprog.exe. После запуска твоя программа просто напросто создает новый подкатолог C:\1\2 перемещает туда свой экзэшник, винда этому не воспротивится, но процесс закрыть не удаться. |
| Автор: Yanis 11.9.2006, 17:36 |
Дубль два! А что тут объяснять? Ты хочешь сделать свой процесс неубиваемым/невидимым. Наверное нет таких программистов, которые не мечтали спрятать своё "творение" в начале программистского пути.... Некоторые так и остались в детстве и пишут очень злые вирусы Sunvas, розыч тебе уже объяснял, что один из способов сделать процесс неубиваемым это изменить его PID. Плюс ко всему пустить в ход маскировку процесса (к примеру нашумевшая nthide.dll. В DRKB есть исходник...) одним из известных способов. Т.е. я склонен думать, что эта ветка по сути продолжение этой: http://forum.vingrad.ru/index.php?showtopic=95211&view=all |