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