As an R&D service provider, Apriorit often works on solutions that require a lot of low-level programming and deep knowledge of the operating system. With security and virtualization being our main forte, we developed many technologies and low-level techniques that we can apply to our client’s projects. Among those techniques are various boot loader manipulations.
Custom boot loader techniques
Apriorit can gain access to Windows boot loader and control boot processes, both for physical and virtual operating systems. This allows us to load our own custom code before system starts, which can be very useful for:
- Changing system functioning
- Getting the full access to hidden system objects
Bootloader manipulations are often used for security applications, for example, we used this technique to manage a driver that performed disk operations for back-up purposes before the system was able to normally start.
Apriorit also has boot loader customization techniques, aimed at use with virtual PCs. One of the major advantages is the fact that system and boot loader can load from different storages, which allows, for example, to perform a login without knowing a password.
Tools we use
For our boot loader technology, we use a special “mixed code” techniques, that combines high-level C or C++ code with Assembly code in a single file. This makes writing the code much easier and faster and gives us broader range of features to use. You can read a small tutorial on our technique here:
We can provide custom boot loader development for your project, including creation of a fully tested SDK specifically for your project.
Why choose Apriorit
Apriorit has a lot of experience developing kernel level solutions for various OS.
Uniquely experienced engineers – our programmers have extensive experience working with C family languages (C, C++, Objective-C, C#). We worked on a numerous projects using a variety of technologies, with security, virtualization, cloud computing and low-level programming being our main forte.
Managed fully-staffed development teams – each of our development teams contains at least one part-time project manager and often part-time QA specialist. For larger projects we provide full-fledged QA and business analysts if necessary. We fully manage day-to-day operation of the each team ourselves and take full responsibility for providing deliveries within designated schedule and budget.