Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых)

 eXeL@B —› Основной форум —› Dump Heap Process
Посл.ответ Сообщение

Ранг: 24.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 20 мая 2005 00:43
· Личное сообщение · #1

Подскажите как можно покапаться в куче процесса ???
Интересует как можно получить к ней доступ в процессе выполнения , например из DLL???
Как можно по хандлеру полученному с помощью HANDLE GetProcessHeap(VOID)
определить адресс кучи ?

Может я не в том направлении рою ???, мне надо впринцыпе в ходе выполнения отыскать данные по сигнатуре в куче и заменить их.
Заранее благодарен за ответ



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 20 мая 2005 01:06
· Личное сообщение · #2

Heap32First/Heap32Next?



Ранг: 24.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 20 мая 2005 11:02
· Личное сообщение · #3

Пробывал я эти функции токо чтото lphe.dwAddress = NULL постоянно
хотя и lphe.dwSize = sizeof(HEAPENTRY32); сделал перед вызовом Heap32First
правда функция требует 2 и3 параметры как DWORD , а у меня они как HANDLE я их подал просто преобразованием (DWORD)HANDLE , думаю изза этого глюка не может быть ???



Ранг: 1.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 20 мая 2005 12:10 · Поправил: dzen
· Личное сообщение · #4

У меня все работает:
.data?

hl32 HEAPLIST32 <?>
he32 HEAPENTRY32 <?>
hHeapSnap dd ?
idProc dd ?

;-----------------------------------------

.code
start:
invoke GetCurrentProcessId
mov idProc, eax

invoke CreateToolhelp32Snapshot, TH32CS_SNAPHEAPLIST, idProc
mov hHeapSnap, eax

invoke RtlZeroMemory, addr hl32, sizeof HEAPLIST32
invoke RtlZeroMemory, addr he32, sizeof HEAPENTRY32

mov hl32.dwSize, sizeof HEAPLIST32
mov he32.dwSize, sizeof HEAPENTRY32

invoke Heap32ListFirst, hHeapSnap, addr hl32
invoke Heap32First, addr he32, idProc, hl32.th32HeapID

push he32.dwAddress
pop eax ;eax = адрес

invoke CloseHandle, hHeapSnap
invoke ExitProcess, 0
end start

Без всяких проверок ошибок правда, но я думаю поймешь


 eXeL@B —› Основной форум —› Dump Heap Process
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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