![]() |
eXeL@B —› Основной форум —› дамп динамически аллокированных блоков памяти процесса ? |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 19 октября 2005 17:11 · Личное сообщение · #1 |
|
Создано: 20 октября 2005 14:45 · Личное сообщение · #2 Barakuda пишет: Так. У меня экстрасенсорные возможности плохо развиты. Это наживное ![]() Barakuda пишет: Если хочешь сам это сделать то давай ссылку на прогу, а там видно будет. Если нет, то пишы в запросы на взлом. Да ладно, бог с ним - сам уж как-нибудь разгребусь ![]() ![]() |
|
Создано: 20 октября 2005 18:16 · Личное сообщение · #3 |
|
Создано: 21 октября 2005 00:54 · Поправил: intty · Личное сообщение · #4 меня что-то заинтересовал сабж. почитал тему. 80% оффтоп. короче. по поводу "дампить включая динамически аллокированные им блоки памяти с данными (либо только их)" я сделал так: пишем простенький код(у меня под рукой оказался масм):
.DATA
teststring db "yeah i'm here",0
...
.DATA?
tmp DWORD ?
...
.CODE
...
push PAGE_READWRITE
push MEM_COMMIT
push 010h
push NULL
call VirtualAlloc
mov tmp,eax
cld ; Work upwards
mov esi, offset teststring ; Source address
mov edi, tmp ; Destination address
mov ecx, 0Fh ; Get size in bytes
shr ecx, 1 ; Convert to words
rep movsw ; repeat copy util all done
далее брякаемся после VirtualAlloc. в eax будет указатель на аллокированный кусок памяти размером 16 байт. следующий за ф-ией код копирует строку teststring в выделенный нами диапазон. пройдя его, открываем PETools, и дампим по выделенному адресу(тот, который в tmp) 16 байт. думаю гадать не нужно, что окажется в сдампленном файле (Dump_00950000_0000000F.dmp) 79 65 61 68 20 69 27 6D 20 68 65 72 65 00 00 || yeah i'm here какие трудности? ![]() |
|
Создано: 21 октября 2005 10:31 · Личное сообщение · #5 intty пишет: какие трудности? Да собственно никаких ![]() Block 1 Address 0x00020000 Size 12312 Read/Write 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22... Block 2 Address 0x00030000 Size 32123 Read/Write/Execute 33 33 33 33 33 33 33 33 33 .... и т.д. То-есть вопрос носил не теоретический (как написать), а сугубо практический (где найти) характер ![]() ![]() |
|
Создано: 21 октября 2005 10:41 · Личное сообщение · #6 agent Cooper Вот тебе исходник Рихтера для определения выделенных диапазонов памяти в адресном пространстве процесса. ![]() ![]() |
|
Создано: 21 октября 2005 11:12 · Личное сообщение · #7 |
|
Создано: 21 октября 2005 13:22 · Личное сообщение · #8 agent Cooper В догонку: pmdump.exe is a tool that dumps memory for a specified process to a file (as opposed to tools like memdump and dd which dump all of the RAM at once). It is useful for auditing things that might store passwords in memory (for example, VPN clients, email clients, and instant-messaging applications). Дампер всей памяти процеса: packetstorm.linuxsecurity.com/Win2k/pmdump.exe Может когда-то пригодится. ![]() |
|
Создано: 21 октября 2005 15:48 · Личное сообщение · #9 |
<< . 1 . 2 . |
![]() |
eXeL@B —› Основной форум —› дамп динамически аллокированных блоков памяти процесса ? |