Updated ntdll-Hide_Wine_Exports patchset

This commit is contained in:
Alistair Leslie-Hughes 2021-03-26 15:05:50 +11:00
parent 0547bb4578
commit 3d3cbfce86

View File

@ -1,4 +1,4 @@
From 5da647f8fca9e37cec233b3357561d25fd205603 Mon Sep 17 00:00:00 2001
From 1669a5998c69cf1f99b52d8917d0b0f977862374 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 30 May 2015 02:23:15 +0200
Subject: [PATCH] ntdll: Add support for hiding wine version information from
@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Add support for hiding wine version information from
2 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 01644df7763..437bf6e224c 100644
index 61951663866..dca5551cdb7 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -73,6 +73,9 @@ BOOL is_wow64 = FALSE;
@@ -74,6 +74,9 @@ BOOL is_wow64 = FALSE;
/* system search path */
static const WCHAR system_path[] = L"C:\\windows\\system32;C:\\windows\\system;C:\\windows";
@ -23,7 +23,7 @@ index 01644df7763..437bf6e224c 100644
static BOOL imports_fixup_done = FALSE; /* set once the imports have been fixed up, before attaching them */
static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */
static int free_lib_count; /* recursion depth of LdrUnloadDll calls */
@@ -90,6 +93,8 @@ struct dll_dir_entry
@@ -91,6 +94,8 @@ struct dll_dir_entry
static struct list dll_dir_list = LIST_INIT( dll_dir_list ); /* extra dirs from LdrAddDllDirectory */
@ -32,7 +32,7 @@ index 01644df7763..437bf6e224c 100644
struct ldr_notification
{
struct list entry;
@@ -1671,6 +1676,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
@@ -1729,6 +1734,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
}
@ -129,7 +129,7 @@ index 01644df7763..437bf6e224c 100644
/******************************************************************
* LdrGetProcedureAddress (NTDLL.@)
*/
@@ -1690,7 +1785,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
@@ -1748,7 +1843,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
{
void *proc = name ? find_named_export( module, exports, exp_size, name->Buffer, -1, NULL )
: find_ordinal_export( module, exports, exp_size, ord - exports->Base, NULL );
@ -138,20 +138,20 @@ index 01644df7763..437bf6e224c 100644
{
*address = proc;
ret = STATUS_SUCCESS;
@@ -4026,6 +4121,8 @@ static NTSTATUS process_init(void)
build_ntdll_module();
+ hidden_exports_init( wm->ldr.FullDllName.Buffer );
@@ -1993,6 +2088,8 @@ static void build_ntdll_module(void)
assert( wm );
wm->ldr.Flags &= ~LDR_DONT_RESOLVE_REFS;
if (TRACE_ON(relay)) RELAY_SetupDLL( meminfo.AllocationBase );
+
#ifndef _WIN64
if (is_wow64)
map_wow64cpu();
+ hidden_exports_init( wm->ldr.FullDllName.Buffer );
}
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index b8f9dc28e63..a4db195c375 100644
index 9ebdeaebfe0..39bb0c1ff6f 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -100,6 +100,11 @@ static inline TEB64 *NtCurrentTeb64(void) { return (TEB64 *)NtCurrentTeb()->GdiB
@@ -136,6 +136,11 @@ static inline TEB64 *NtCurrentTeb64(void) { return (TEB64 *)NtCurrentTeb()->GdiB
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);