At Apriorit, we developed several custom Windows and Linux virtual file system implementations, and so we decided to share our knowledge on the topic in this series of articles. This article will be useful for any developers who wish to create Windows...
In this article, we will make a brief introduction to the driver development for macOS discussing the basics of kernel extension (KEXT) implementation. We will discuss the typical tasks requiring kernel extensions, tools and environment for their...
This tutorial provides you with easy to understand steps for a simple file system filter driver development. The demo driver that we show you how to create prints names of open files to debug output. This article is written for engineers with basic...
This article describes the scheme and implementation details of a driver for on-the-flight file encryption based on the file system minifilter approach. The descrided solution also provides per-process restriction of access to the encrypted files. It...
The following article will help you to understand principles of Windows processes starting. In addition, it will show you how to set some filters for process start, including allowing and forbidding ones.
This article would be useful for Windows developers, as it explains how to create virtual disk for Windows system.
In this article we will consider the methods of hooking keyboard data in the kernel mode. The described approaches can be used for solving the tasks of keystroke analysis, blocking and also redefining some combinations.  
This Linux device driver tutorial will provide you with all the necessary information about how to write a device driver for Linux operating systems. This article includes a practical Linux driver development example that’s easy to follow. We’ll discuss...
In this article, I am going to describe the process of development of a driver module to hide files in Linux OS (you can read the article about Hide Driver for Windows OS here). Besides, I will touch upon such questions: Virtual File System...
This article describes a driver that hides processes and files using the method of splicing.
We describe a lightweight C++ RPC implementation in this article. The RPC is intended to fulfill the pretty specific purpose to call driver functions from user mode code. It’s really lightweight and it doesn’t have any advanced features, which many...
This article is devoted to the methods of the driver packages installation/uninstallation using WiX. In particular we will discuss the usage of the Microsoft DPInst utility for the installation and removal of the drivers during the Windows Installer...
Today our QA Specialist in drivers reveals the secrets of testing this type of software. Practices for testing different types of Windows drivers are presented in the article below.  
The task was to write a driver to look through the network traffic in search of HTTP connections (HTTP is detected on the content of the TCP-stream, not by port); each outgoing HTTP request is compared with the set of the configured rules and if a rule...
Windows drivers are traditionally written in C language (not C++) and Microsoft Corp. officially supports this variant only (see the " C++ for Kernel Mode Drivers: Pros and Cons" document of WINHEC 2004 Version at...
This article is the continue of the previously posted project Hide Driver. Like the first article this one doesn't pretend to be full and original. The main purpose of it is to represent the complicated info in some more popular way.The method of hiding...
The task was to develop a driver which can allow/forbid switching-on the monitor on system events that usually result in such switching: switching to a sleep mode on system/screensaver events automatic switching-on the monitor on mouse movement or...
The task was to write a utility that allow address to a specific server under FTP protocol by creation of network disk (at that, the disk must look as usual network disk in Windows). Also it was required to supply the maximum independence of separate...
Subscribe to updates