|
|
|
Дамп процесса
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите плз, как сделать дамп произвольного процесса (зная PID ессно). Я не прошу выкладывать здесь готовый код, просто подскажите, где можно взять доки или хотя бы список функций, необходимых для этого. Заранее спасибо. PS В принципе, я понял, нужна VirtualQueryEx. Но, ей нужно передать виртуальный адрес. Тогда вопрос в другом - как определить ImageBase и ImageSize для произвольного процесса (по его PID)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2003, 11:26 |
|
||
|
Дамп процесса
|
|||
|---|---|---|---|
|
#18+
Драсте... Сами мы не местные, но может глупость и не скажем, если скажем: 1) Получаем системную инфу о железе и ОС через API GetSystemInfo. Наиболее интересной здесь является инфа о доступном адресном пространстве и о размере страниц памяти. 2) Создаем карту памяти процесса (модули, стеки, свободная и используемая память (кучи) и т.п.). Делается это при помощи ToolHelp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/tool_help_library.asp и VirtualQueryEx; 3) На основе данной карты выбираешь те куски памяти, которые имеешь желание "дампировать" и копируешь их в свой процесс через API ReadProcessMemory; 4) С копией делаешь чего хочешь - в данном случае отображаешь дамп. Не знаю, на сколько правильна эта схема, но лично у меня она работала даже на... VBA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2003, 14:04 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32335042&tid=2035721]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 384ms |

| 0 / 0 |
