Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Side by Side Diff: sandbox/win/src/process_thread_interception.h

Issue 1225183003: CreateThread interception, to use CreateRemoteThread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove thread_attributes from IPC call, use nullptr Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sandbox/win/src/nt_internals.h" 5 #include "sandbox/win/src/nt_internals.h"
6 #include "sandbox/win/src/sandbox_types.h" 6 #include "sandbox/win/src/sandbox_types.h"
7 7
8 #ifndef SANDBOX_SRC_PROCESS_THREAD_INTERCEPTION_H__ 8 #ifndef SANDBOX_SRC_PROCESS_THREAD_INTERCEPTION_H__
9 #define SANDBOX_SRC_PROCESS_THREAD_INTERCEPTION_H__ 9 #define SANDBOX_SRC_PROCESS_THREAD_INTERCEPTION_H__
10 10
(...skipping 18 matching lines...) Expand all
29 LPSTR lpCommandLine, 29 LPSTR lpCommandLine,
30 LPSECURITY_ATTRIBUTES lpProcessAttributes, 30 LPSECURITY_ATTRIBUTES lpProcessAttributes,
31 LPSECURITY_ATTRIBUTES lpThreadAttributes, 31 LPSECURITY_ATTRIBUTES lpThreadAttributes,
32 BOOL bInheritHandles, 32 BOOL bInheritHandles,
33 DWORD dwCreationFlags, 33 DWORD dwCreationFlags,
34 LPVOID lpEnvironment, 34 LPVOID lpEnvironment,
35 LPCSTR lpCurrentDirectory, 35 LPCSTR lpCurrentDirectory,
36 LPSTARTUPINFOA lpStartupInfo, 36 LPSTARTUPINFOA lpStartupInfo,
37 LPPROCESS_INFORMATION lpProcessInformation); 37 LPPROCESS_INFORMATION lpProcessInformation);
38 38
39 typedef HANDLE (WINAPI *CreateThreadFunction)( 39 typedef HANDLE(WINAPI* CreateThreadFunction)(
40 LPSECURITY_ATTRIBUTES lpThreadAttributes, 40 LPSECURITY_ATTRIBUTES lpThreadAttributes,
41 SIZE_T dwStackSize, 41 SIZE_T dwStackSize,
42 LPTHREAD_START_ROUTINE lpStartAddress, 42 LPTHREAD_START_ROUTINE lpStartAddress,
43 PVOID lpParameter, 43 LPVOID lpParameter,
44 DWORD dwCreationFlags, 44 DWORD dwCreationFlags,
45 LPDWORD lpThreadId); 45 LPDWORD lpThreadId);
46 46
47 typedef LCID (WINAPI *GetUserDefaultLCIDFunction)(); 47 typedef LCID (WINAPI *GetUserDefaultLCIDFunction)();
48 48
49 // Interception of NtOpenThread on the child process. 49 // Interception of NtOpenThread on the child process.
50 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtOpenThread( 50 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtOpenThread(
51 NtOpenThreadFunction orig_OpenThread, PHANDLE thread, 51 NtOpenThreadFunction orig_OpenThread, PHANDLE thread,
52 ACCESS_MASK desired_access, POBJECT_ATTRIBUTES object_attributes, 52 ACCESS_MASK desired_access, POBJECT_ATTRIBUTES object_attributes,
53 PCLIENT_ID client_id); 53 PCLIENT_ID client_id);
(...skipping 22 matching lines...) Expand all
76 LPVOID environment, LPCWSTR current_directory, LPSTARTUPINFOW startup_info, 76 LPVOID environment, LPCWSTR current_directory, LPSTARTUPINFOW startup_info,
77 LPPROCESS_INFORMATION process_information); 77 LPPROCESS_INFORMATION process_information);
78 78
79 SANDBOX_INTERCEPT BOOL WINAPI TargetCreateProcessA( 79 SANDBOX_INTERCEPT BOOL WINAPI TargetCreateProcessA(
80 CreateProcessAFunction orig_CreateProcessA, LPCSTR application_name, 80 CreateProcessAFunction orig_CreateProcessA, LPCSTR application_name,
81 LPSTR command_line, LPSECURITY_ATTRIBUTES process_attributes, 81 LPSTR command_line, LPSECURITY_ATTRIBUTES process_attributes,
82 LPSECURITY_ATTRIBUTES thread_attributes, BOOL inherit_handles, DWORD flags, 82 LPSECURITY_ATTRIBUTES thread_attributes, BOOL inherit_handles, DWORD flags,
83 LPVOID environment, LPCSTR current_directory, LPSTARTUPINFOA startup_info, 83 LPVOID environment, LPCSTR current_directory, LPSTARTUPINFOA startup_info,
84 LPPROCESS_INFORMATION process_information); 84 LPPROCESS_INFORMATION process_information);
85 85
86 // Interception of CreateThread in kernel32.dll.
87 SANDBOX_INTERCEPT HANDLE WINAPI
88 TargetCreateThread(CreateThreadFunction orig_CreateThread,
89 LPSECURITY_ATTRIBUTES thread_attributes,
90 SIZE_T stack_size,
91 LPTHREAD_START_ROUTINE start_address,
92 LPVOID parameter,
93 DWORD creation_flags,
94 LPDWORD thread_id);
95
86 } // extern "C" 96 } // extern "C"
87 97
88 } // namespace sandbox 98 } // namespace sandbox
89 99
90 #endif // SANDBOX_SRC_PROCESS_THREAD_INTERCEPTION_H__ 100 #endif // SANDBOX_SRC_PROCESS_THREAD_INTERCEPTION_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698