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

 eXeL@B —› Основной форум —› дамп динамически аллокированных блоков памяти процесса ?
<< . 1 . 2 .
Посл.ответ Сообщение

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

Создано: 19 октября 2005 17:11
· Личное сообщение · #1

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



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

Создано: 20 октября 2005 14:45
· Личное сообщение · #2

Barakuda пишет:
Так. У меня экстрасенсорные возможности плохо развиты.


Это наживное . Главное - тренировка.

Barakuda пишет:
Если хочешь сам это сделать то давай ссылку на прогу, а там видно будет.
Если нет, то пишы в запросы на взлом.


Да ладно, бог с ним - сам уж как-нибудь разгребусь (F11 так F11 - не боги горшки обжигают). В любом случае - спасибо за участие - ну и если исходничек через денек подкинешь, то отдельное.




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 20 октября 2005 18:16
· Личное сообщение · #3

tar4
придумываешь какие-то слова типа "аллокированные" и думай, что это значит.

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

-----
have a nice day





Ранг: 122.3 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 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

какие трудности?



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

Создано: 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 ....

и т.д.

То-есть вопрос носил не теоретический (как написать), а сугубо практический (где найти) характер . А написать-то не проблема - времени только жалко: вероятно 3-5 дней потребуется на написание и отладку с нуля.



Ранг: 51.9 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 21 октября 2005 10:41
· Личное сообщение · #6

agent Cooper
Вот тебе исходник Рихтера для определения выделенных диапазонов памяти в адресном пространстве процесса.


d7af_04_ProcessInfo.zip



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

Создано: 21 октября 2005 11:12
· Личное сообщение · #7

Barakuda пишет:
Вот тебе исходник Рихтера для определения выделенных диапазонов памяти в адресном пространстве процесса.


Мерси ! Остальное уже не лень и самому дописать.



Ранг: 51.9 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 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

Может когда-то пригодится.



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

Создано: 21 октября 2005 15:48
· Личное сообщение · #9

Barakuda пишет:
Может когда-то пригодится.


Ну ни фига себе "когда-то" - это же именно то что мне нужно !!!

Огромадное спасибище !


<< . 1 . 2 .
 eXeL@B —› Основной форум —› дамп динамически аллокированных блоков памяти процесса ?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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