Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

память процесса

1 view
Skip to first unread message

Evgeniy Zhavoronkov

unread,
Aug 18, 2007, 9:01:28 AM8/18/07
to
Привет All!

Зная Pid Процесса нужно просмотреть всю память этого процесса.
Как это можно сделать?


До свидания, Evgeniy.
np: Lamb Of God - Blood Junkie
[Metal] [Death] [Doom] [Guitar] [Animate] [C++] [asm]

Boris Shklyaev

unread,
Aug 19, 2007, 3:16:16 AM8/19/07
to
_/Greetings, Evgeniy !!/_

EZ> Зная Pid Процесса нужно просмотреть всю память этого процесса.
EZ> Как это можно сделать?

вендовый 32-битный exe?
тебе нужон описалово формата Portable Executable. найдешь его на
cracklab.ru, в разделе статей.
открываем процесс - OpenProcess().
ReadProcessMemory() - читаешь хедер PE-файла, он прямо с базы
начинается, обычно 0x400000. размер хедера разный, но 512 байт тебе
хватит.
там читаешь первым делом поле Number of objects in Object Table. потом
идешь туда где кончается PE header и начинается таблица секций. начиная
отсюда, читаешь информацию о секциях, в количестве, равном Number of
objects. анализируешь поля Virtual Address и Virtual Size. дампишь тем
же ReadProcessMemory().

_/Good Luck, Evgeniy./_
... [*ФИТ-151*]-[_Zenwalk Linux_]-[_винмоздай_]-[/дзен/]

Evgeniy Zhavoronkov

unread,
Aug 19, 2007, 9:27:54 AM8/19/07
to
Привет Boris!

19 авг 07 12:16, Boris Shklyaev -> Evgeniy Zhavoronkov:


EZ>> Зная Pid Процесса нужно просмотреть всю память этого процесса.
EZ>> Как это можно сделать?

BS> вендовый 32-битный exe?
BS> тебе нужон описалово формата Portable Executable. найдешь его на
BS> cracklab.ru, в разделе статей.
BS> открываем процесс - OpenProcess().
BS> ReadProcessMemory() - читаешь хедер PE-файла, он прямо с базы
BS> начинается, обычно 0x400000. размер хедера разный, но 512 байт тебе
BS> хватит.
BS> там читаешь первым делом поле Number of objects in Object Table. потом
BS> идешь туда где кончается PE header и начинается таблица секций.
BS> начиная отсюда, читаешь информацию о секциях, в количестве, равном
BS> Number of objects. анализируешь поля Virtual Address и Virtual Size.
BS> дампишь тем же ReadProcessMemory().

Спасибо. Вроде понял. Только не очень понятно с анализированием. Может
примерчик кинешь? Тогда все лишние вопросы сами отпадут :)

До свидания, Evgeniy.
np: As I Lay Dying - The Pain Of Separation[paused]

Alexander Andrusenko

unread,
Aug 19, 2007, 2:56:09 PM8/19/07
to
EZ> Зная Pid Процесса нужно просмотреть всю память этого процесса.
EZ> Как это можно сделать?
BS> вендовый 32-битный exe?
BS> тебе нужон описалово формата Portable Executable. найдешь его на

Во-первых, так ты не сможешь прочитать динамически выделенную память,
во-вторых, есть гораздо более простой и надежный способ. Hужно смотреть в
сторону функции VirtualQueryEx.


Boris Shklyaev

unread,
Aug 20, 2007, 6:41:18 AM8/20/07
to
_/Greetings, Evgeniy !!/_

BS>> ReadProcessMemory()
EZ> Спасибо. Вроде понял. Только не очень понятно с анализированием.
EZ> Может примерчик кинешь? Тогда все лишние вопросы сами отпадут :)

ушло в NETMAIL

0 new messages