tree: 0dd49cefa4f060f62ec74661ec7c1efc3d504350 [path history] [tgz]
  1. BUILD.gn
  2. DEPS
  3. OWNERS
  4. README.md
  5. blacklist/
  6. chrome_elf.ver
  7. chrome_elf_arm64.def
  8. chrome_elf_constants.cc
  9. chrome_elf_constants.h
  10. chrome_elf_main.cc
  11. chrome_elf_main.h
  12. chrome_elf_security.cc
  13. chrome_elf_security.h
  14. chrome_elf_test_stubs.cc
  15. chrome_elf_util_unittest.cc
  16. chrome_elf_x64.def
  17. chrome_elf_x86.def
  18. crash/
  19. dll_hash/
  20. hook_util/
  21. nt_registry/
  22. pe_image_safe/
  23. run_all_unittests.cc
  24. sha1/
  25. third_party_dlls/
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.