|
[Chrome ELF] New NT registry API.
This CL is part of a chain of CLs:
1) "MITIGATION_EXTENSION_POINT_DISABLE support for children" ( https://codereview.chromium.org/1835003003)
2) "MITIGATION_EXTENSION_POINT_DISABLE emergency off finch" ( https://codereview.chromium.org/1836523004/)
-> THIS
4) "Early browser security support" ( https://codereview.chromium.org/1656453002)
5) "Turn on MITIGATION_EXTENSION_POINT_DISABLE" ( https://codereview.chromium.org/1854323002)
Added new chrome_elf_reg utility for a registry API that doesn't touch advapi32 (useful from DllMain).
Direct calls to ntdll. Updated Chrome ELF to always use this new registry API.
Adjusted the existing DLL blacklist to use a REG_MULTI_SZ comma-separated list instead of lots of individual reg values.
Small changes to organize file structure and functional components under chrome_elf. Old common code now sits under "hook_util", "nt_registry", "breakpad", "dll_hash", and "blacklist".
Fairly big changes to the chrome_elf tests (blacklist_test.cc, blacklist_test_main_dll.cc and
chrome_elf_util_unittest.cc) were needed. Since ntdll bypasses any registry redirection
(that tests use to keep the hive safe and isolated), I added in a way for the tests to access
the redirection path (and pass that information on to the test DLL). This way the NT reg
API can work with redirection during tests.
Tests:
1) chrome_elf_unittests, chrome_elf_util_unittest.cc: ChromeElfUtilTest.NTRegistry is new
(...but run all tests to exercise the new API being used by blacklist and utils).
2) unit_tests, chrome_elf_init_unittest_win.cc: ChromeBlacklistTrialTest*
BUG= 557798
CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win10_chromium_x64_rel_ng
Committed: https://crrev.com/84fd669f74832ccab02fcbb8b96dc4ed58d11b43
Cr-Commit-Position: refs/heads/master@{#405307}
Total comments: 49
Total comments: 10
Total comments: 8
Total comments: 11
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+3246 lines, -2530 lines) |
Patch |
|
M |
PRESUBMIT.py
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
base/test/test_reg_util_win.h
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
base/test/test_reg_util_win.cc
|
View
|
1
2
3
4
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/win/chrome_elf_init.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
1 chunk |
+16 lines, -10 lines |
0 comments
|
Download
|
|
M |
chrome/browser/win/chrome_elf_init_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
2 chunks |
+14 lines, -11 lines |
0 comments
|
Download
|
|
M |
chrome/chrome_installer.gypi
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1189 lines, -1189 lines |
0 comments
|
Download
|
|
M |
chrome/chrome_installer_static.gypi
|
View
|
1
2
3
4
5
6
7
8
|
4 chunks |
+4 lines, -7 lines |
0 comments
|
Download
|
|
M |
chrome/install_static/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+7 lines, -10 lines |
0 comments
|
Download
|
|
M |
chrome/install_static/DEPS
|
View
|
1
2
3
4
5
6
|
1 chunk |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
chrome/install_static/install_util.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
9 chunks |
+21 lines, -24 lines |
0 comments
|
Download
|
|
M |
chrome/install_static/install_util.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
33 chunks |
+141 lines, -230 lines |
0 comments
|
Download
|
|
M |
chrome/install_static/install_util_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome_elf/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
10
|
8 chunks |
+54 lines, -34 lines |
0 comments
|
Download
|
|
M |
chrome_elf/OWNERS
|
View
|
1
2
3
4
5
6
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome_elf/blacklist.gypi
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome_elf/blacklist/blacklist.cc
|
View
|
1
2
3
4
5
6
|
9 chunks |
+129 lines, -215 lines |
0 comments
|
Download
|
|
M |
chrome_elf/blacklist/blacklist_interceptions.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
8 chunks |
+14 lines, -15 lines |
0 comments
|
Download
|
|
M |
chrome_elf/blacklist/test/blacklist_test.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
7 chunks |
+107 lines, -23 lines |
0 comments
|
Download
|
|
D |
chrome_elf/blacklist/test/blacklist_test_main.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -17 lines |
0 comments
|
Download
|
|
M |
chrome_elf/blacklist/test/blacklist_test_main_dll.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
1 chunk |
+35 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome_elf/blacklist/test/blacklist_test_main_dll.def
|
View
|
1
2
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
D |
chrome_elf/breakpad.h
|
View
|
1
2
3
4
5
|
1 chunk |
+0 lines, -34 lines |
0 comments
|
Download
|
|
D |
chrome_elf/breakpad.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+0 lines, -196 lines |
0 comments
|
Download
|
|
A + |
chrome_elf/breakpad/breakpad.h
|
View
|
1
2
3
4
5
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
A + |
chrome_elf/breakpad/breakpad.cc
|
View
|
1
2
3
4
5
6
|
7 chunks |
+23 lines, -54 lines |
0 comments
|
Download
|
|
M |
chrome_elf/chrome_elf.gyp
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
1 chunk |
+201 lines, -187 lines |
0 comments
|
Download
|
|
M |
chrome_elf/chrome_elf_constants.h
|
View
|
|
2 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome_elf/chrome_elf_constants.cc
|
View
|
|
2 chunks |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome_elf/chrome_elf_main.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
chrome_elf/chrome_elf_util_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
7 chunks |
+188 lines, -66 lines |
0 comments
|
Download
|
|
A + |
chrome_elf/hook_util/thunk_getter.h
|
View
|
1
2
3
4
5
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
A + |
chrome_elf/hook_util/thunk_getter.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
A |
chrome_elf/nt_registry/BUILD.gn
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+20 lines, -0 lines |
0 comments
|
Download
|
|
A |
chrome_elf/nt_registry/DEPS
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
A |
chrome_elf/nt_registry/nt_registry.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1 chunk |
+204 lines, -0 lines |
0 comments
|
Download
|
|
A |
chrome_elf/nt_registry/nt_registry.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1 chunk |
+685 lines, -0 lines |
0 comments
|
Download
|
|
A |
chrome_elf/nt_registry/nt_registry.gyp
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+51 lines, -0 lines |
0 comments
|
Download
|
|
D |
chrome_elf/thunk_getter.h
|
View
|
1
2
3
4
5
|
1 chunk |
+0 lines, -16 lines |
0 comments
|
Download
|
|
D |
chrome_elf/thunk_getter.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+0 lines, -149 lines |
0 comments
|
Download
|
|
M |
sandbox/win/src/nt_internals.h
|
View
|
1
2
3
4
5
|
3 chunks |
+70 lines, -23 lines |
0 comments
|
Download
|
Total messages: 62 (31 generated)
|