Subscribe to receive all latest blog updates
One of the key features of the QT framework is providing communication between objects via signals and slots. For QT developers, this is a very convenient and organic way to do things, but the nature of the feature does not allow to communicate between...
This guide will cover certain ways to detect restart or shutdown of the PC, as well as other similar events, such as log off or sleep. We will be handling the OS shutdown event using WinAPI for different types of applications - console, GUI...
In this article you will find a short overview of I/O completion ports (IOCP), as well as a simple C++ implementation of copying folder with files by using I/O requests. We hope that this guide will prove useful for anyone with basic C++ and Windows API...
This tutorial provides you with easy to understand steps for a simple file system filter driver development. As a result, obtained demo driver is intended to print names of open files to debug output. This article would be interesting for engineers...
This article includes description of simple unhooker that restores original System Service Table hooked by unknown rootkits, which hide some services and processes. Contents: 1. Rootkit detection algorithm 2. Memory-mapped files in kernel mode 3....
This article is written for everyone interested in design of different things, particularly, developers working with high-level languages (Java, C, C++, etc.), who sometimes need to do low-level programming in Windows. Our example of low-level...
Program optimization, and in particular code and algorithm optimization, are very important tasks for different kinds of systems: extended client-server applications, heavy-data processors, network monitoring tools, etc. This article is a short...
Projects, that have been written over a long period of time usually exhibit a number of problems, such as duplicate code and a wide use of anti-patterns. Code refactoring is complicated by the fact that system components are often closely...
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 article describes the general approach to shell extensions creation by the example of shortcut menu and icon overlay handlers. A number of non-obvious problems, which may be encountered during the development of these types of extensions, are also...
In this article, we’ll consider Dynamic Disks. We are going to explore the program implementation with the help of the LDM (Logical Disk Manager) technology.
Berkeley and Microsoft socket models that are mostly compatible on the source code level are not so cross-platform in practice. Let’s examine some subtle differences in their implementation. These differences were found when writing a cross-platform...
The current article is devoted to an easy approach for setting up global API hooks on a system-wide scale. For DLL injection, we will utilize a registry key called AppInit_DLLs, and to perform API hooking in Windows, we will utilize the Mhook library....
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.
This article describes the process of recovering of deleted data from the flash drive.
This article is the description of the first steps in setting QT, Visual Studio and FireBird. It may be useful for those, who just start working with database FireBird Embedded by means of QT provider. The article will be also helpful for the developers...
In this article, we will consider an interesting, universal, and rarely used method of DLL injection into a Windows process using KnownDlls sections. To demonstrate the method work we will develop a Windows-based sample project to inject DLL into...
In this article we continue investigation in the field of hiding application in the system. This theme was started by Ivan Romanenko and Sergey Popenko in the article “Driver to Hide Processes and Files”. Our aim is to discover the ways of application...
Information security on PC becomes more and more popular, so I want to cover some issues of this topic – in particular, the using of ciphers to prevent data stealing from a physically removed hard disk.