Delphi_MemoryModule icon indicating copy to clipboard operation
Delphi_MemoryModule copied to clipboard

Delphi adaptation of MemoryModule — load DLL from memory. Also includes hooking utilities.

Results 9 Delphi_MemoryModule issues
Sort by recently updated
recently updated
newest added

An exception raised into ExecuteTLS function: ``` function ExecuteTLS(Module: PMemoryModule): Boolean; var CodeBase: Pointer; directory: PIMAGE_DATA_DIRECTORY; tls: PIMAGE_TLS_DIRECTORY; callback: PPointer; // =^PIMAGE_TLS_CALLBACK; // TLS callback pointers are VA's (ImageBase included)...

using MemoryModule will cause access violation for large application built with runtime packages. This happen to `FixPtr` function in `ExecuteTLS`. This is due to the `code` was allocated via `VirtualAlloc`...

We can write like this: ```pascal for var i := 1 to 10 do LoadLibrary('test.dll'); ``` In `LoadLibrary` was hooked with `MemoryModuleHook`, the above code will cause access violation or...

InstallHook will intercept `LoadLibrary`, `GetProcAddress` and `FreeLibrary`. The function fail to work for application built with runtime packages.

I have a simple InstallHook that perform nothing: ```pascal function MyHook(lpLibFileName: PWideChar): Pointer; begin Result := nil; end; initialization InstallHook(MyHook); finalization UninstallHook; end. ``` When launch the application build with...

I have a valid DLL as 32bit version and 64bit version (LoadLibrary works). Your code works perfect with the 32bit DLL, but when I try to load the 64bit DLL,...

Delphi 10.1 berlin Calling raised exception at **GetProcAddress_Internal(handle, PAnsiChar(IMAGE_ORDINAL(thunkRef^)))** instruction ` while thunkRef^ 0 do begin if IMAGE_SNAP_BY_ORDINAL(thunkRef^) then funcRef^ := GetProcAddress_Internal(handle, PAnsiChar(IMAGE_ORDINAL(thunkRef^))) else begin thunkData := PIMAGE_IMPORT_BY_NAME(PByte(codebase) + thunkRef^);...

Hello, Please not that finalization caused an access violation when invoking **MemoryFreeLibrary**. All library calls are redirected and well executed. ``` procedure InstallModule; begin if Assigned(ModuleList) or IsDesigntime then Exit;...