Помогите найти MmPagingFile Всем привет.Я тут новенький,как и в дизасме. Нужно получить доступ к MmPagingFile для отслеживания работы с файлом подкачки.Ну и как всегда оно на експорт не пошло.В гугли кроме как моего побратима по несчастью и gloomy я не нашел.Но кроме них были две статьи с японского сайта.Кроме как kd> MmPagingFile ... ... особо понять ничего больше нельзя было.Но именно это мне и надо. Вопрос:если в kd такое можно узнать,наверно только с символьной инфой на сотню метров,то не мог бы ктото подсказать адрес MmPagingFile(конечно если это возможно). Желательно под xp(w2k тоже приму). Если такое не катит то подскажите в каком направлении порыскать(например в сайсе или ида)для результата. Заранее большое спасибо
Под XP sp0 сама MmPagingFile по адресу 80546020, в ней 8144E9F0. Код (Text): typedef struct _MMPAGING_FILE { PFN_NUMBER Size; PFN_NUMBER MaximumSize; PFN_NUMBER MinimumSize; PFN_NUMBER FreeSpace; PFN_NUMBER CurrentUsage; PFN_NUMBER PeakUsage; PFN_NUMBER Hint; PFN_NUMBER HighestPage; PMMMOD_WRITER_MDL_ENTRY Entry[MM_PAGING_FILE_MDLS]; PRTL_BITMAP Bitmap; PFILE_OBJECT File; UNICODE_STRING PageFileName; ULONG PageFileNumber; BOOLEAN Extended; BOOLEAN HintSetToZero; } MMPAGING_FILE, *PMMPAGING_FILE;
Four-F Спасибо за отзыв. С хр sp1 не прокатило. Ж Откуда эти значения:из kd или дизасма.Очень интересно. P.S.поскольку не прокатило то что мне теперь можно сделать
[ VOOrDOOluck: <font color="indigo]Откуда эти значения:из kd или дизасма.Очень интересно.</font><!--color--> ] Да я просто набрал в айсе dd MmPagingFile и всё. Kd тоже покажет. [ VOOrDOOluck: <font color="indigo]поскольку не прокатило то что мне теперь можно сделать</font><!--color--> ] Если айс стоит, то запускать \SoftICE\SymbolRetriever\symrtrvr.exe, жать на кнопку "Add File(s)", добавлять ntoskrnl, ставить галку "Load symbols into SoftICE", жать кнопку "Get Symbols", потом в айсе набирать dd MmPagingFile. Если Kd или WinDbg юзаешь, то доку читай. Там тоже написано как символы тянуть. ЗЫ: Структура из w2k сорсов, так что под ХР может не покатить. Есть ли она в PDB не знаю.
Four-F Символы уже были загружены предложеным способом.Но ничего. В чем может быть проблема. P.S.Кто нибудь у кого есть айс с xp sp1 посмотрите адрес MmPagingFile.Буду признателен.
[ VOOrDOOluck: <font color="indigo]Символы уже были загружены предложеным способом.Но ничего. В чем может быть проблема.</font><!--color--> ] Если загружены были несколько pdb, то набирай table и смотри список... Активная таблица будет подсвечена. Если это не ntoskrnl, то не удивительно, что ничего. Переключи таблицу символов на ntoskrnl так table ntoskrnl, после этого должно работать. Попробуй ещё вывести список символов начинающихся с MmPaging. См лог. Код (Text): :table hal [NM32] kernel32 [NM32] ntdll [NM32] ntoskrnl [NM32] user32 [NM32] win32k [NM32] 0000520213 Bytes Of Symbol Memory Available : : :sym _mmpaging* Address Symbol Name .data(0023:8054A500, 00017BA4 bytes) 0023:80560AC0 _MmPagingFile 0023:80560B70 _MmPagingFileHeader ЗЫ: И доку почитай.
VOOrDOOluck Хм, как я понял, ты всё со своей проблемой. Кстати, не обращал внимания на функции ioPageRead, ioPageWrite. Так вот, используя эти функции диспетчер памяти и иже с ними используют для сброса страниц в своп, причём вот я не понял, что касаемо контекста, но, ты можешь их перехватить и это тебе много даст. Как искать адреса функций в разных версиях ядер ??? Используй файлы символов и метод, описанный в книге Свена Шрайбера. Всё должно проканать.
Four-F в который раз спасибо.Мне это поможет изучить некоторые данные. CARDINAL Да проблема таже ,только пути решения сейчас другие смотрю.Старые были хороши но для динамического контроля все накрывалось медным тазом. Про контекст можно тоже забыть.Сброс в своп происходит не в конкретном процесе а над конкретеными pfn. ioPageRead, ioPageWrite я посмотрю.Но на них свет не сошелся и есть еще iocalldriver,asyncwrite... и event. Поэтому отслеживать запись/чтение полностью будет накладно.Кроме того page это хорошо но в своп оно может сбрасываться и кластерами.Тут page уже наверно не катит. Зато bitmap для конкретного pagefile дает реальную картину используемых и освобождаемых ресурсов свопа. В этом направлении и копаю.