|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 8, 2004 21:30:38 Проблема в общении с NtQuerySystemInformation. При сливании Array of processes, указываем структуру SYSTEM_PROCESS_INFORMATION, каторых в этом Array, должно быть сколько и процессов в системе. If места не хватает, ф-я возвращает необх. кол-во байт. Так вот вопрос: ф-я возвращает 24056 байта, при размере структуры в 180. многовато процессов не правда ли??? По-моему - неправильно оценен размер SYSTEM_PROCESS_INFORMATION (or i don't know). Пожалеуста помогите Info-й, or объясните в чём прикол. Пжжжжжалуйста!!! (EnumProcesses@12 не годится - мы в ядре) |
|
|
Дата: Мар 8, 2004 22:37:38 Если тебе нужна утилита, которая покажет список процессов из ядра, возьми Klister - он лежит на rootkit.com или на этом же сайте -> ты используешь недокументированную функцию, думаю, хуже не станет, если будешь обращаться напрямую к недокументированным структурам, типа EPROCESS :) |
|
|
Дата: Мар 8, 2004 22:57:30 Спасибо za ссылку. Хоть и "убиваем комара атомной бомбой" - буду разбираться. Но вопрос о SYSTEM_PROCESS_INFORMATION struc... всё еще в силе. Можа кто ещё знает... |
|
|
Дата: Мар 8, 2004 23:50:56 Гарри Неббет: "Example 6.3: Using RtlQueryProcessDebugInformation to extend ToolHelp Library Implementation" |
|
|
Дата: Мар 9, 2004 00:10:13 Благодарю!!! |
|
|
Дата: Мар 9, 2004 15:11:49 · Поправил: Four-F [ PavPS: Но вопрос о SYSTEM_PROCESS_INFORMATION struc... всё еще в силе. ] См. Неббета. SYSTEM_PROCESS_INFORMATION = SYSTEM_PROCESSES. возвращается массив структур SYSTEM_PROCESSES по кол-ву процессов, каждая из которых содержит массив структур SYSTEM_THREADS, по кол-ву потоков этого процесса + поле SYSTEM_PROCESSES.ProcessName кажет на имя процесса - это ещё ~16 байт. В слабозагруженной системе ~20 процессов и ~200 потоков. sizeof(SYSTEM_PROCESSES) = 248 sizeof(SYSTEM_THREADS) = 64 Итого 248*20 + 64*200 + 16*20 = ~18000 |
|
|
Дата: Ноя 14, 2004 00:48:48 Вопрос такой; надо получить список всех процессов но так что-бы если какой-нить из них хучил NtQuerySystemInformation ,он бы усе равно был в списке... Как это можно сделать? А то понимаешь понораспладились невидимки... Заранее благодарен.-) |
|
|
Дата: Ноя 14, 2004 12:48:48 [ dead_body: Как это можно сделать? ] Слишком сложный вопрос, чтоб в двух словах ответить. Ходи сюды: rootkit.com invisiblethings.org Почитай это: "Win2K Kernel Hidden Process/Module Checker" by Tan Chew Keong "Windows Rootkits" by Adam Gaydosh Многое, что написано в статьях и на invisiblethings.org уже морально устарело. Вобщем, надо следить за новинками на rootkit.com и смотреть кто там ещё какую-нить гадость предложит. Тогда будет ясно как с этой гадостью боротья, если это возможно. |
|
|
Дата: Ноя 14, 2004 13:42:50 на rootkit.com был, там в основном как прятать код через Ринг-0 и *клистер* для НТ. А мне нада бы как нить бороться с перехватом функций в третьем кольце, через ринг-3(через нулевое колечко - нежелательно) И желательно мультиплатформенность (НТ,2000,WinServer2003,ХР(сп1+сп2)) Идие хоть какие-то есть? А то коли будем работать через нулевое кольцо потерям мультиплатформеность, и еще эти SP'шки меняют хер зна шо в винде(а заплатки можно и отдельно скачать кому надо). |
|
|
Дата: Ноя 14, 2004 15:53:53 Ну если имеется ввиду API-хук ntdll, то, наверное, сравнивать точку входа (и ниже тоже) в памяти с образом на диске. Что до потери мультиплатформености в нулевом кольце, то это всё относительно. Тулзы типа клистер кодятся на скорую руку и как правило для неэкспортируемых функций/переменных тупо хардкодятся их адреса вместо попытки поиска (по сигнатурам, например, или дизасмом). Если не торопиться и всё делать правильно, то можно достичь мультиплатформености и в нулевом кольце. Единственно, гарантии нет для ещё не выпущенных SP. |
|
|
Дата: Ноя 14, 2004 16:44:50 А можно еще как-нить получить список поцессов кроме как не через NtQuerySystemInformation? Тогда и хук на NtQuerySystemInformation мне до фенни. А то надо получать список процессов(можно даже одни PID'ы) как нибудь...(:- |
|
|
Дата: Ноя 14, 2004 17:44:25 Хрен его знает. Вот топик: http://www.wasm.ru/forum/index.php?action=vthread&forum=4&topic=7311 Это, наверное, то, что тебе нужно. |
|
|
Дата: Ноя 14, 2004 17:48:51 phrack59\p59-0x10.txt "Playing with Windows /dev/(k)mem" SECTION: 4.4 Deeper into Process listing :) может поможет. |
|
|
Дата: Ноя 15, 2004 00:30:55 в библиотеке PSAPI есть ф-ция EnumProcesses посмотри в MSDN |
|
|
Дата: Ноя 15, 2004 01:00:18 · Поправил: dead_body Но EnumProcesses пашет через NtQuerySystemInformation Так что если хватать будут то не EnumProcesses ні FindFirstProcess мне не помогут....-) А мне надо ВСЕГО ЛИШЬ если какая-то ламерная прога будет хукать NtQuerySystemInformation видеть ее. Место боя == кольцо юзверя но мне можно и ринг 0 но как болле меньше действий делать там!(а желательно вообще туда не лезть) не могла же микрософт сделать получения списка процов через одну функцию. А щас читаю на rootkit.com и пытаюсь разобраться(но там все через ринг0) TURKISH Спасибо за ответ, но он мне не помог(:- |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.085 |