1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_ELF_BLACKLIST_BLACKLIST_INTERCEPTIONS_H_ 6 #define CHROME_ELF_BLACKLIST_BLACKLIST_INTERCEPTIONS_H_ 7 8 #include "sandbox/win/src/nt_internals.h" 9 #include "sandbox/win/src/sandbox_types.h" 10 11 namespace blacklist { 12 13 bool InitializeInterceptImports(); 14 15 // Interception of NtMapViewOfSection within the current process. 16 // It should never be called directly. This function provides the means to 17 // detect dlls being loaded, so we can patch them if needed. 18 SANDBOX_INTERCEPT NTSTATUS WINAPI BlNtMapViewOfSection( 19 NtMapViewOfSectionFunction orig_MapViewOfSection, 20 HANDLE section, 21 HANDLE process, 22 PVOID *base, 23 ULONG_PTR zero_bits, 24 SIZE_T commit_size, 25 PLARGE_INTEGER offset, 26 PSIZE_T view_size, 27 SECTION_INHERIT inherit, 28 ULONG allocation_type, 29 ULONG protect); 30 31 #if defined(_WIN64) 32 // Interception of NtMapViewOfSection within the current process. 33 // It should never be called directly. This function provides the means to 34 // detect dlls being loaded, so we can patch them if needed. 35 SANDBOX_INTERCEPT NTSTATUS WINAPI BlNtMapViewOfSection64( 36 HANDLE section, HANDLE process, PVOID *base, ULONG_PTR zero_bits, 37 SIZE_T commit_size, PLARGE_INTEGER offset, PSIZE_T view_size, 38 SECTION_INHERIT inherit, ULONG allocation_type, ULONG protect); 39 #endif 40 41 } // namespace blacklist 42 43 #endif // CHROME_ELF_BLACKLIST_BLACKLIST_INTERCEPTIONS_H_ 44