From 46ac5c8191a99e444e0339def6caca339b591ce2 Mon Sep 17 00:00:00 2001 From: navewindre Date: Tue, 16 Jul 2024 07:19:43 +0200 Subject: =?UTF-8?q?=E3=82=84=E3=83=BC=E3=83=BC=E3=83=BC=E3=83=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/util.cpp') diff --git a/src/util.cpp b/src/util.cpp index 81b1192..7f47677 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -8,11 +8,25 @@ ULONG u_thread_create( LPTHREAD_START_ROUTINE routine, void* param ) { REG64 thread; ULONG ret_id; +#ifndef X64 nt_create_thread64( &thread, 0x1fffff, 0, GetCurrentProcess(), routine, param, 0 ); ret_id = GetThreadId( (HANDLE)thread.u32[0] ); nt_close64( thread ); - +#else + static auto nt_create_thread = (NTSTATUS(__stdcall*)( + PHANDLE, + ACCESS_MASK, + POBJECT_ATTRIBUTES, + HANDLE, + PCLIENT_ID, + PCONTEXT, + PINITIAL_TEB, + BOOLEAN) + )GetProcAddress( GetModuleHandleA( "ntdll.dll" ), "NtCreateThread" ); + + //aaa +#endif return ret_id; } -- cgit v1.2.3