Комментарии 7
Думаю, снять дамп с работающей системы несколько проблематично
WinHEX: Tools/Open RAM/Physical Memory и готово
WinHEX, значит, устанавливает свой драйвер?
Через kernel32, читает \Device\PhysicalMemory.
Надо попробовать кстати http://www.compdoc.ru/prog/pascal/use_native_kernel32/
Надо попробовать кстати http://www.compdoc.ru/prog/pascal/use_native_kernel32/
> In Windows Server 2003 SP1, user-mode access to the \Device\PhysicalMemory object is not permitted. All forms of access (read, write) are refused when the \Device\PhysicalMemory object is accessed from a user-mode application. Access to the \Device\PhysicalMemory object is refused regardless of the user context (Administrators, Users, Local System, etc.) the application is running in.
В WinHex работало потому что XP:
> Access to physical RAM under Windows XP (32-bit) only
В WinHex работало потому что XP:
> Access to physical RAM under Windows XP (32-bit) only
Можно совсем колхозным способом — включить в реестре BSOD по ctrl+double scrolllock и включить запись полного дампа при крашах.
Всё правильно. Надо только заметить что начиная с Pentium поддерживается режим Huge Tables, когда запись в page directory может указывать или на page table, или на большую четырехмегабайтную страницу. Таким образом экономится место в TLB, что немного ускоряет работу с памятью. Не знаю, поддерживает ли винда этот режим.
Поддерживает. Только нужно включить "lock pages in memory" в групповых политиках.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Эксперимент: ищем int i = 0xDEADBEEF в дампе физической памяти