Вот недавно узнал, что такое руткит. На википедии было всё сказано сжато и сухо. Информации в интернете нашел не в очень больших объёмах, тем более актуальной ( в основном попадались посты в период 2000-2010 годов ). Книг на русском практически нет.
Вообщем, стоит цель написать программу для скрытия процессов в диспетчере задач( т.е пользователь указывает нужную программу, которую надо скрыть, и программа её убирает из диспетчера задач ) Кто в этом непосредственно замешан, можете подсказать, где можно найти инфу соответствующую?
Руткит ещё надо установить. Это сама по себе довольно нетривиальная задача, так как винда проверяет целостность и контрольные суммы системных файлов
1. Надо выяснить, какой именно функцией пользуется диспетчер задач для перечисления процессов - способов несколько, соответствующие функции расположены в разных DLL, и не факт, что рутуит для одной версии будет работать в другой.
2. Ну а дальше "просто" - перехватываешь вызов соответствующей функции и подменяешь результат на свой.
До следующего обновления, наверное, протянет.
В целом же, написание руткита сродни написанию на асме загрузчика ОС по сложности. Сомневаюсь, что кто-то захочет поделиться подобным опытом.
Эти посты за 2000 год всё ещё актуальны, Native API очень стабильно несмотря на угрозы MS всё поменять. Основное изменение это появление amd64 и arm. В amd64 нет инструкций call/jmp $+imm64, только call/jmp $+imm32, что не позволяет прыгнуть в большую часть диапазона памяти. push imm64 и ret должны работать, наверное. Так же придётся разбираться с wow32.
Причём тут кстати C#? На нём конечно тоже можно писать, но всё равно ведь придётся манипулировать сырыми указателями и отдельными машинными инструкциями. И работать через WinAPI если не Native API.