tree: b27cd5f70a4fa3c1514bbb846599df9e83124e44 [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.ver
  12. chrome_elf_arm64.def
  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. chrome_elf_x64.def
  22. chrome_elf_x86.def
  23. DEPS
  24. DIR_METADATA
  25. OWNERS
  26. README.md
  27. 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.