Сейчас на форуме: asfa, _MBK_ (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Дамп процесса и PE Tools (после дампа Exe не запускается!)
Посл.ответ Сообщение

Ранг: -0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 ноября 2009 18:45
· Личное сообщение · #1

Здавствуйте!

Занимаюсь сделующим - хочу сделать дамп процесса в exe, так чтобы он потом запускался. для тренировки взял calc.exe.

Запускаю calc.exe, запускаю PE Tools (v 1.5 RC7, вроде последний), выбираю calc.exe и жму Dump Full...
Дамп не запускается, с ошибкой "Only part of a ReadProcessMemory or WriteProcessMemory request was completed. Cannot execute". Если сделать dump partial примерно та же история. (Rebuild PE не помогает)

Теперь возмем ProcDump (v 1.4). Проделаем тоже самое. Dump Full пишет почемуто: This process can't be dumped !! . Зато Dump Partial делает вполне рабочий Exe.

Подскажите, почему так получается? Ожидаемая ли это ситуация?

Еще вопрос - если в иде дебажить процесс остановить на брейкпоинте можно ли в этот момент сделать дамп процесса?



Ранг: 81.5 (постоянный), 5thx
Активность: 0.080
Статус: Участник

Создано: 04 ноября 2009 19:48
· Личное сообщение · #2

Прилагаю маленький файл HTML. Там Крис Касперски несколько строк пишет о дампе. Возможно найдете ответ там на свой вопрос.

87a3_04.11.2009_CRACKLAB.rU.tgz - DUR.zip



Ранг: -0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 ноября 2009 20:02
· Личное сообщение · #3

Спасибо большое за наводку, я как раз занимаюсь распаковкой, так что статья вдвойне полезна.
Кстати в ней рекомендуют Proc Dump и Lord PE Deluxe. Буду их и юзать. Но тем не менее почему PE Tools производит не рабочий Exe, хотя ее рекламируют в многих статьях.



Ранг: -0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 ноября 2009 20:06
· Личное сообщение · #4

Еще вопрос по поводу дампов, можно ли снимать дамп процесса который запущен из IDA и стоит на брейкпоинте?



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 04 ноября 2009 21:09 · Поправил: tempread
· Личное сообщение · #5

Про восстановление импорта не забываете?

Если дампить прогу, в которой установлены программные брекпоинты, то она дампится с ними. Программный брекпоинт делается установкой специального байта - 0xССh на команду, вот с ними и сдампится. Отладчик установленные СС байты прячет от пользователя, поэтому этих байт не видно. Почитайте, как происходит трасировка приложений.



Ранг: -0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 ноября 2009 21:26
· Личное сообщение · #6

Провел следующее исследование, которое меня повергло в шок!

вот два программы:

#include "stdafx.h"
#include "windows.h"

int dumped = 0;

int WinMain(HINSTANCE a, HINSTANCE b, LPSTR c, int d)
{
bool bdumped = (bool)dumped;
dumped = 1;
MessageBox(NULL, bdumped ? L"Dumped" : L"Not dumped", L"Test", 0);
return 0;
}

и

#include "stdafx.h"
#include "windows.h"

static int dumped = 0;

int WinMain(HINSTANCE a, HINSTANCE b, LPSTR c, int d)
{
bool bdumped = (bool)dumped;
dumped = 1;
MessageBox(NULL, bdumped ? L"Dumped" : L"Not dumped", L"Test", 0);
return 0;
}

Бинарники отличаются 5ю байтами - timestamp и номер версии в дебажной секции.

Я пытался ее сдампить в ProcDump(PD) и PE Tools(PE):
Сделаны были след дампы
Full в PD и PE, Partial в PE. Итого 6 дампов.

1я, Full в PD: Not dumped.
2я, Full в PD: Unhandled exception.
1я, Full в PE: Dumped.
2я, Full в PE: Dumped.
1я, Partial в PE: Unhandled exception.
2я, Partial в PE: Unhandled exception.

итого работает тока PE Tools.



Ранг: 20.5 (новичок), 3thx
Активность: 0.010
Статус: Участник

Создано: 05 ноября 2009 00:59
· Личное сообщение · #7

В чем собственно вопрос? Почитайте статьи,что ли...
А потом опишите пошагово все,что делаете,но только после внимательного прочтения статей.




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 05 ноября 2009 01:20 · Поправил: zeppe1in
· Личное сообщение · #8

IEatBrain пишет:
Еще вопрос по поводу дампов, можно ли снимать дамп процесса который запущен из IDA и стоит на брейкпоинте?

можно отлаживать в olly, и дампить плагином стоя на брейкпоинте.
а вобще чего просто так то дампить, распакуй upx)

-----
zzz




Ранг: -0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 ноября 2009 17:41
· Личное сообщение · #9

coolangel
Вопрос вот в чем - почему дамперы работаю не корректно или я что-то не так делаю?
Статей по технике дампига не нашел. Дампил я простейшую программу, которая никак не противостоит дампингу, лишь проверяет сий факт.

zeppe1in
а если не upx? я исследую универсальные методы распаковки. важнейшим шагом там является вовремя сдампить процесс. насчет Олли спасибо, попробую им.



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 05 ноября 2009 18:18 · Поправил: tempread
· Личное сообщение · #10

IEatBrain пишет:
или я что-то не так делаю?


Статью приводил во вложении deepred.

Техника следующая: стартуешь программу в отладчике,останавливаешь ее на EP, убираешь все программные прерывания, дампишь чем хочешь. Потом запускаешь ImpRec, указываешь EP, получаешь таблицу импорта,нажав кнопку(если программа не защищена, то это сработает),прописываешь импорт в дамп. Вот и все.




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 05 ноября 2009 19:41
· Личное сообщение · #11

IEatBrain
Об упаковщиках в последний раз
wasm.ru/article.php?article=packlast01
wasm.ru/article.php?article=packers2

-----
zzz



 eXeL@B —› Вопросы новичков —› Дамп процесса и PE Tools (после дампа Exe не запускается!)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати