Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/taviso/loadlibrary.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTavis Ormandy <taviso@gmail.com>2021-01-04 03:35:30 +0300
committerGitHub <noreply@github.com>2021-01-04 03:35:30 +0300
commitb5ea40a01465b3811ab5168ff13e8a487436c71d (patch)
tree1465a1250562e264f75b75b0e08eb3ae270476c1
parent6d4970bd4a4d6b55ecda21f99b06a2b1d719e817 (diff)
parent2a6e10f99fae0d5ec8cc2907a2da40f53ff94898 (diff)
Merge pull request #87 from cube0x8/LdrLoadDll_api
Added new API ntdll.LdrLoadDll
-rw-r--r--peloader/winapi/Internal.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/peloader/winapi/Internal.c b/peloader/winapi/Internal.c
index d4de69f..c0d806b 100644
--- a/peloader/winapi/Internal.c
+++ b/peloader/winapi/Internal.c
@@ -48,6 +48,20 @@ ULONG WINAPI EtwEventWrite(HANDLE RegHAndle, PVOID EventDescriptor, ULONG UserDa
return 0;
}
+static HANDLE WINAPI LdrLoadDll(PWCHAR PathToFile,
+ ULONG Flags,
+ PUNICODE_STRING ModuleFilename,
+ PHANDLE ModuleHandle)
+{
+ char *PathToFileA = CreateAnsiFromWide(PathToFile);
+
+ DebugLog("%p [%s], %p, %p, %#x", PathToFile, PathToFileA, ModuleFilename, ModuleHandle, Flags);
+
+ free(PathToFileA);
+
+ return (HANDLE) 'LOAD';
+}
+
NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE Module,
PANSI_STRING Name,
WORD Ordinal,
@@ -74,4 +88,5 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE Module,
DECLARE_CRT_EXPORT("RtlAcquirePebLock", RtlAcquirePebLock);
DECLARE_CRT_EXPORT("RtlReleasePebLock", RtlReleasePebLock);
DECLARE_CRT_EXPORT("LdrGetDllHandle", LdrGetDllHandle);
+DECLARE_CRT_EXPORT("LdrLoadDll", LdrLoadDll);
DECLARE_CRT_EXPORT("LdrGetProcedureAddress", LdrGetProcedureAddress);