Early Boot User Data Access via Driver PE File
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current user-level applications and kernel-level drivers face difficulties in accessing user-level data during early boot-time due to the lack of loaded file system drivers, leading to discrepancies and system errors when updating operating systems.
Innovation Solution
Modifying the boot-loader registry to include references for a driver PE file, allowing the operating system to image the driver PE file into memory during early boot-time, enabling access to user-level data through portable executable (PE) files structured like user-level files, such as NTDLL.DLL, which are typically not loaded during this period.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If file system drivers are not loaded during early boot-time, then system stability is maintained, but user-level data cannot be accessed
Solution Approach 1:
The patent loads the driver PE file into memory during early boot-time before file system drivers are fully initialized. This preliminary action enables the driver to access user-level data structures and kernel function references that will be needed later when the file system is mounted, avoiding the need to wait for file system driver initialization.
Solution Approach 2:
The patent introduces a driver PE file as an intermediary component that bridges the gap between early boot-time kernel initialization and user-level data access. This driver PE file contains references to kernel functions and user-level data structures, allowing safe access before the full file system stack is available.
2Speed
If references to OS data are hard-coded into applications/drivers, then access speed is improved, but adaptability to OS updates deteriorates
Solution Approach 1:
The patent makes the previously static hard-coded references dynamic by loading them from a driver PE file at runtime. The driver PE file contains references to kernel functions and user-level data structures that can be updated alongside OS updates, allowing the application to adapt to new OS versions without requiring recompilation or repatching.
Solution Approach 2:
The patent changes the state of the reference data from fixed (hard-coded) to variable (loaded from PE file). By storing references in a driver PE file that can be updated independently of the application binary, the system maintains fast access speeds while gaining the ability to update references when OS versions change.
3Adaptability or versatility
If patches are applied to update hard-coded references, then compatibility with new OS versions is improved, but system complexity and error risk increase
Solution Approach 1:
The patent extracts the references to kernel functions and user-level data structures from the application binary and places them in a separate driver PE file. This extraction eliminates the need to patch the application itself when OS updates occur - instead, only the driver PE file needs to be updated, significantly reducing patching complexity and error risk.
Data Source
AI summary
A system and method for enabling access to user-level data is described. One embodiment includes accessing user-level data associated with a kernel-level function using a portable executable (PE) file. The user-level data is accessed during a boot-time of a computer. In this embodiment, the PE file is also accessed using the computer.


