gecko-dev/mozglue/tests
Toshihito Kikuchi f6a7430688 Bug 1610790: Part 2 - Implement GetProcAddress for a remote process. r=handyman
This patch adds a function to get an exported function in a remote process.
We need this implementation to address Bug 1604008, Bug 1608645, and Bug 1610790.

When `WindowsDllInterceptor` detours a function in a remote process, we used the
native `GetProcAddress` locally, and then detours the returned address in the
target process.  The problem is if the caller's export table was modified, the
address returned from `GetProcAddress` might be invalid in the target process,
which is Bug 1604008.

I implemented `GetProcAddress` depending on both local and remote process image,
but it caused two regressions Bug 1608645 and Bug 1610790 because multiple
applications modify firefox's export table in multiple ways, such as replacing
an entry of EAT, replacing an RVA to Export section, or etc.

With this patch, we can use `PEExportSection<MMPolicy>::GetProcAddress` to get
an exported function in a remote process without relying on any local data so
that it's not impacted by modification of the local export table.

Differential Revision: https://phabricator.services.mozilla.com//D62315

Depends on D62314
2020-02-11 22:21:10 +02:00
..
gtest Bug 1483687: Part 3 - Update DLL blocklist gtests to support the revised blocklist data structures; r=mhowell 2019-07-16 18:02:13 +00:00
interceptor Bug 1519636 - Automatically reformat recent changes using clang-format r=Ehsan 2020-01-21 09:51:27 +00:00
ShowSSEConfig.cpp Bug 1610790: Part 1 - Use wmain in mozglue/tests. r=handyman 2020-02-12 02:23:57 +02:00
TestBaseProfiler.cpp Bug 1610790: Part 1 - Use wmain in mozglue/tests. r=handyman 2020-02-12 02:23:57 +02:00
TestNativeNt.cpp Bug 1610790: Part 1 - Use wmain in mozglue/tests. r=handyman 2020-02-12 02:23:57 +02:00
TestPEExportSection.cpp Bug 1610790: Part 2 - Implement GetProcAddress for a remote process. r=handyman 2020-02-11 22:21:10 +02:00
TestPrintf.cpp Bug 1610790: Part 1 - Use wmain in mozglue/tests. r=handyman 2020-02-12 02:23:57 +02:00
TestTimeStampWin.cpp Bug 1610790: Part 1 - Use wmain in mozglue/tests. r=handyman 2020-02-12 02:23:57 +02:00
moz.build Bug 1610790: Part 2 - Implement GetProcAddress for a remote process. r=handyman 2020-02-11 22:21:10 +02:00