PHP код:
DWORD alloc = 0;//адрес функции работы с памятью
HMODULE hCore = GetModuleHandleA("core.dll");
alloc = (DWORD)GetProcAddress(hCore,"?GMalloc@@3PAVFMalloc@@A");
//потом можно выделить
void * l2malloc(wchar_t * name, int leng)
{
__asm
{
mov eax, alloc;
mov ecx, [eax];
mov edx, [ecx];
mov eax, [edx];
push name;
push leng;
call eax;
};
};
//и освободить
void * l2free(void * mem)
{
__asm
{
mov eax, alloc;
mov ecx, [eax];
mov edx, [ecx];
mov eax, [edx+8];
push mem;
call eax;
};
};