Как сделать Дамп Процесса?
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Как сделать Дамп Процесса? - 2008-12-04 18:13:13.143333
|
|
|
LolLolLolHahaha
Сообщений: 155
Оценки: 0
Присоединился: 2008-03-22 18:21:23
|
Сабж.. желательо на C# ну или на С++. Заранее спасибо!
|
|
|
RE: Как сделать Дамп Процесса? - 2008-12-04 18:37:00.436666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Левого или твоего процесса? Может проще отладчиком воспользоваться?
|
|
|
RE: Как сделать Дамп Процесса? - 2008-12-04 19:01:43.023333
|
|
|
LolLolLolHahaha
Сообщений: 155
Оценки: 0
Присоединился: 2008-03-22 18:21:23
|
Ну ок, обьясню… Открываем диспетчер задач -> Правой кнобкой на прцессе, -> Создать файл дампа памяти И у нас далеко в недрах диска C: появляется файл дампа. Или Открываем PE Tools жмем (если не ошибаюсь) ctrl+d Как можно добиться такого результата программно?
|
|
|
RE: Как сделать Дамп Процесса? - 2008-12-04 19:11:08.416666
|
|
|
Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
1) Необходимо узнать имя файла процесса 2.) Открыть файл процесса для чтения 3) Прочитать dword по смещению 3ch относительно начала файла, это будет смещение PE (offset PE) 4) Сместится относительно начала файла на offset PE, теперь стоим на PE :) сместится еще на 34h байта и прочитать dword, это будет ImageBase 5) Сместится относительно PE на 50h байт и прочитать dword, это будет SizeOfImage 6) Теперь открываем процесс и считываем начиная с адреса ImageBase и размером SizeOfImage 7) Сохраняем все в файл Дамп будет скорее всего нерабочий т.к. в большинстве случаев физические и виртуальные адреса и размеры секций файла не совпадают. Как их пересчитывать отдельный вопрос (нужно хорошо знать структуру PE файла) :)
|
|
|
RE: Как сделать Дамп Процесса? - 2008-12-04 19:53:19.276666
|
|
|
LolLolLolHahaha
Сообщений: 155
Оценки: 0
Присоединился: 2008-03-22 18:21:23
|
Спасибо.. +1 А может легче найти исходник того же PE tools и выкрасть часть кода? Или посоветуйте где на эту тему почитать или исходник взять… Заранее благодарю
|
|
|
RE: Как сделать Дамп Процесса? - 2008-12-04 20:10:39.580000
|
|
|
Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
В том же PE Tools есть Procs32.dll, в ней куча готовых полезных функций. Разберись с ними и юзай Procs32.dll в своем проекте. GetProcessPath GetProcessBaseSize
|
|
|
RE: Как сделать Дамп Процесса? - 2008-12-04 20:26:51.743333
|
|
|
SkaYneT
Сообщений: 43
Оценки: 0
Присоединился: 2007-07-27 13:11:06.706666
|
http://slil.ru/26401497 - сорцы
|
|
|
RE: Как сделать Дамп Процесса? - 2008-12-05 00:13:38.883333
|
|
|
LolLolLolHahaha
Сообщений: 155
Оценки: 0
Присоединился: 2008-03-22 18:21:23
|
Спабио огромное, буду пробовать… Завтра отпшусь ;)
|
|
|
|
|