Дампы памяти 32-битного процесса в 64-битной Windows 7

3

Я использовал диспетчер задач (Windows 7, 64-разрядная версия) для сброса памяти процессов Chrome.

К сожалению, попытка вывести 32-разрядный процесс с помощью (64-разрядного) диспетчера задач приведет к созданию бессмысленных дампов памяти.

Если бы я использовал диспетчер задач (64-разрядный) для создания дампа 32-разрядного процесса, есть ли способ преобразовать уже готовый дамп памяти, чтобы он был должным образом проанализирован?

Кроме того, если у вас есть полный дамп памяти, может ли человек заново создавать процессы и программы, работающие до возникновения сбоя?

Редактировать: Кажется, что многие люди смущены моим намерением:

Я уже создал дамп памяти 32-разрядных процессов Chrome с помощью диспетчера задач Windows (64-разрядная версия ) . Затем я пришел, чтобы прочитать статьи, в которых говорится, что это создаст поврежденную версию дампа памяти.

Что меня интересует, может ли дамп когда-либо читаться правильно с этими дампами?

А также второй вопрос.

Что я имею в виду испорченный?

По одной из предоставленных ссылок:

Если вы захватите дамп с помощью инструмента, который захватывает 64-битные дампы, вы все равно получите дамп памяти, но вы получите дамп памяти syswow64, что означает, что многие расширения, такие как sos и psscor2, не смогут читать данные. Некоторые вещи могут все еще работать, но это очень ограничено, и вы можете получить ошибки или ошибочные стеки вызовов и т. Д.

Смотрите также

MEMDU
источник
Вы определили, что свалка была даже испорчена? Предоставьте нам ссылку на статью, которая может быть неправильной, написанной взломщиком, который понятия не имеет, о чем они говорят.
Ramhound
@Membu Цифры его заблокированы. Кажется, что заголовок статьи говорит о том, как правильно делать дампы памяти, следовали ли вы этому руководству и каков был ваш результат?
Ramhound
Другая ссылка: blogs.msdn.com/b/tess/archive/2010/09/29/… Я задаю этот вопрос, потому что я не знал такого рода вещи, а просто прочитал эти статьи. Поэтому я не последовал руководству. Вот почему я задаю этот вопрос.
MEMDU
Во второй статье упоминаются инструменты, которые вы можете использовать. Вы использовали эти инструменты?
Ramhound

Ответы:

3

Вам необходимо использовать Process Explorer 15.3 (или более позднюю версию) из sysinternals, который знает архитектуру и создает надлежащие дампы.

Process Explorer v15.3. Этот основной выпуск Process Explorer включает отображение тепловой карты для процессора, частных байтов, рабочего набора и столбцов графического процессора, сортируемых групп безопасности на странице безопасности свойств процесса и всплывающую подсказку о задачах, выполняемых в процессах Windows 8 Taskhostex. , Он также создает файлы дампа, которые соответствуют разрядности целевого процесса, и устраняет ошибку, введенную в отчетах о счетчиках дисков в Windows 8.

http://blogs.technet.com/b/sysinternals/archive/2013/02/04/updates-pendmoves-v1-2-process-explorer-v15-3-sigcheck-v1-91-zoomit-v4-42. ASPX

magicandre1981
источник
1

Нет способа конвертировать один вид дампа памяти в другой.

И для всех, кому интересно, вы должны вручную запустить 32-битный диспетчер задач:

C: \ Windows \ SysWOW64 \ Taskmgr.exe

если вы хотите создать дамп 32-битного процесса

введите описание изображения здесь

Ян Бойд
источник
-1

Просто откройте дамп, созданный в windbg (x86 или x64), а затем выполните команду: ".effmach x86"

Это покажет вам контекст X86, сохраненный в файле дампа. Из них все команды будут работать в контексте x86.

Созданный TaskManager мини-дамп всегда 64 бит. Помните, что все ваши процессы Windows, работающие на 64-битной Windows, являются 64-битными процессами. Просто, когда ваш код 32-битный, он запускается на WindownOnWindows, который перенаправляет все вызовы между процессом (32 бита) и ОС (64 бита).

opedroso
источник