tree: 6bf490c82b1a87dd8dd48ff92b14ca9e834cca19 [path history] [tgz]
  1. crash/
  2. dll_hash/
  3. hook_util/
  4. nt_registry/
  5. pe_image_safe/
  6. sha1/
  7. third_party_dlls/
  8. blocklist_constants.cc
  9. blocklist_constants.h
  10. BUILD.gn
  11. chrome_elf.def
  12. chrome_elf.ver
  13. chrome_elf_constants.cc
  14. chrome_elf_constants.h
  15. chrome_elf_main.cc
  16. chrome_elf_main.h
  17. chrome_elf_security.cc
  18. chrome_elf_security.h
  19. chrome_elf_test_stubs.cc
  20. chrome_elf_util_unittest.cc
  21. DEPS
  22. DIR_METADATA
  23. OWNERS
  24. README.md
  25. run_all_unittests.cc
chrome/chrome_elf/README.md

Chrome Early Loading Framework (ELF)

The Chrome Early Loading Framework provides a facility to execute code very early during process startup before other imported DLLs (e.g., kernel32). This is useful for dynamic patching of system functions (e.g., NtMapViewOfSection) to implement advanced control over the process.

Chrome's initial entry point on Windows is DllMain in chrome_elf.dll (defined in chrome_elf_main.cc). The reorder-imports.py script is used at build-time to ensure that chrome_elf.dll is the first import of chrome.exe.