RtlAllocateHeap
- From
- Alexey Nevolin (2:5030/322.41)
- To
- Alex Fedotov
- Date
- 2001-03-15T00:06:08Z
- Area
- SU.WINDOWS.NT.PROG
■ Hi there, Alex !
■ Сдаунлоадив Holodisk в свой Pip-Boy 2000 я обнаружил, что в 14 Mar 01 08:57, Alex Fedotov писал Alexey Nevolin:
AF> Что-то мне кажется, что GlobalLock и иже с ним тут не при чем. В NT
AF> Global- функции (и Local- тоже) смоделированы поверх HeapAlloc /
AF> HeapRealloc / HeapFree (see "Managing Heap Memory in Win32" technical
AF> article on MSDN). То есть в одном хипе находится много блоков памяти,
AF> каждый со своим счетчиком блокировок. Что же тогда задает число,
AF> передаваемое RtlCreateHeap?
Тут вот что: если посмотреть hiew'ом kernel32.dll, то все функции блокировки/разблокировки ссылаются (рано или поздно, но однозначно) в недокументированную RtlLockHeap. Которой передается КУЧА параметров. (Куча слабо сказанно).
─── Тут начинается файл Windows Clipboard ───
▓ kernel32.dll FRO PE.77F119D0 a32 -------- 374544 ║ Hiew 6.55 (c)SEN
▓.77F119D0: 64A100000000 mov eax,fs:[000000000]
▓.77F119D6: 55 push ebp
▓.77F119D7: 8BEC mov ebp,esp
░.77F119D9: 6AFF push 0FF
░.77F119DB: 68B0CBF377 push 077F3CBB0 ;"w?╦░"
░.77F119E0: 6844B7F377 push 077F3B744 ;"w?╖D"
░.77F119E5: 50 push eax
░.77F119E6: 64892500000000 mov fs:[000000000],esp
░.77F119ED: 83EC18 sub esp,018 ;""
░.77F119F0: 53 push ebx
░.77F119F1: 56 push esi
░.77F119F2: 57 push edi
░.77F119F3: 8B7508 mov esi,[ebp][00008]
░.77F119F6: F7C604000000 test esi,000000004 ;" "
░.77F119FC: 8965E8 mov [ebp][-0018],esp
░.77F119FF: 0F849B000000 je .077F11AA0 -------- (1)
░.77F11A05: A12065F477 mov eax,[077F46520]
░.77F11A0A: 50 push eax
░.77F11A0B: FF15FCC1F377 call RtlLockHeap ;ntdll.dll
░.77F11A11: 33FF xor edi,edi
░.77F11A13: 897DFC mov [ebp][-0004],edi
░.77F11A16: 83EE04 sub esi,004 ;""
░.77F11A19: 56 push esi
░1Help 2PutBlk 3Edit 4Mode 5Goto 6Refer 7Search 8Header 9Files 10Quit
─── А здесь Windows Clipboard кончается ───
.77f119d0 - entrypoint от GlobalLock'а. Считаем push'ы. 9 штук =) Все остальные Global/Local Lock'и, Unlock'и, и т.д. Сходятся в итоге сюда.
>> 2ВСЕ - у кого есть книжка - помогайте!
AF> Какая книжка?
Книжка с описанием Native API =) Их куча на амазоне.
■ cul8r Alex
■ wbr Alexey Nevolin.
[Tuborg][ESP][Drums][WinNT][Sun Solaris][OS/2][Quake3][Scorpions][Metallica]
[FML366][Iron Maiden][RU.METALLICA]
... lurking in a dismal fog, hungry for your blood...
* Origin: Page Fault Station (2:5030/1272.64)