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

Side by Side Diff: sandbox/win/src/interceptors_64.cc

Issue 1225183003: CreateThread interception, to use CreateRemoteThread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix up casts 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
« no previous file with comments | « sandbox/win/src/interceptors_64.h ('k') | sandbox/win/src/ipc_tags.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/interceptors_64.h" 5 #include "sandbox/win/src/interceptors_64.h"
6 6
7 #include "sandbox/win/src/interceptors.h" 7 #include "sandbox/win/src/interceptors.h"
8 #include "sandbox/win/src/filesystem_interception.h" 8 #include "sandbox/win/src/filesystem_interception.h"
9 #include "sandbox/win/src/named_pipe_interception.h" 9 #include "sandbox/win/src/named_pipe_interception.h"
10 #include "sandbox/win/src/policy_target.h" 10 #include "sandbox/win/src/policy_target.h"
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 LPPROCESS_INFORMATION process_information) { 194 LPPROCESS_INFORMATION process_information) {
195 CreateProcessAFunction orig_fn = reinterpret_cast< 195 CreateProcessAFunction orig_fn = reinterpret_cast<
196 CreateProcessAFunction>(g_originals[CREATE_PROCESSA_ID]); 196 CreateProcessAFunction>(g_originals[CREATE_PROCESSA_ID]);
197 return TargetCreateProcessA(orig_fn, application_name, command_line, 197 return TargetCreateProcessA(orig_fn, application_name, command_line,
198 process_attributes, thread_attributes, 198 process_attributes, thread_attributes,
199 inherit_handles, flags, environment, 199 inherit_handles, flags, environment,
200 current_directory, startup_info, 200 current_directory, startup_info,
201 process_information); 201 process_information);
202 } 202 }
203 203
204 SANDBOX_INTERCEPT HANDLE WINAPI
205 TargetCreateThread64(LPSECURITY_ATTRIBUTES thread_attributes,
206 SIZE_T stack_size,
207 LPTHREAD_START_ROUTINE start_address,
208 PVOID parameter,
209 DWORD creation_flags,
210 LPDWORD thread_id) {
211 CreateThreadFunction orig_fn =
212 reinterpret_cast<CreateThreadFunction>(g_originals[CREATE_THREAD_ID]);
213 return TargetCreateThread(orig_fn, thread_attributes, stack_size,
214 start_address, parameter, creation_flags,
215 thread_id);
216 }
217
204 // ----------------------------------------------------------------------- 218 // -----------------------------------------------------------------------
205 219
206 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtCreateKey64( 220 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtCreateKey64(
207 PHANDLE key, ACCESS_MASK desired_access, 221 PHANDLE key, ACCESS_MASK desired_access,
208 POBJECT_ATTRIBUTES object_attributes, ULONG title_index, 222 POBJECT_ATTRIBUTES object_attributes, ULONG title_index,
209 PUNICODE_STRING class_name, ULONG create_options, PULONG disposition) { 223 PUNICODE_STRING class_name, ULONG create_options, PULONG disposition) {
210 NtCreateKeyFunction orig_fn = reinterpret_cast< 224 NtCreateKeyFunction orig_fn = reinterpret_cast<
211 NtCreateKeyFunction>(g_originals[CREATE_KEY_ID]); 225 NtCreateKeyFunction>(g_originals[CREATE_KEY_ID]);
212 return TargetNtCreateKey(orig_fn, key, desired_access, object_attributes, 226 return TargetNtCreateKey(orig_fn, key, desired_access, object_attributes,
213 title_index, class_name, create_options, 227 title_index, class_name, create_options,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 } 283 }
270 284
271 SANDBOX_INTERCEPT ATOM WINAPI TargetRegisterClassW64( 285 SANDBOX_INTERCEPT ATOM WINAPI TargetRegisterClassW64(
272 const WNDCLASS* wnd_class) { 286 const WNDCLASS* wnd_class) {
273 RegisterClassWFunction orig_fn = reinterpret_cast< 287 RegisterClassWFunction orig_fn = reinterpret_cast<
274 RegisterClassWFunction>(g_originals[REGISTERCLASSW_ID]); 288 RegisterClassWFunction>(g_originals[REGISTERCLASSW_ID]);
275 return TargetRegisterClassW(orig_fn, wnd_class); 289 return TargetRegisterClassW(orig_fn, wnd_class);
276 } 290 }
277 291
278 } // namespace sandbox 292 } // namespace sandbox
OLDNEW
« no previous file with comments | « sandbox/win/src/interceptors_64.h ('k') | sandbox/win/src/ipc_tags.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698