Projects
bflat-ts — Bflat Test Suite
Test suite for bflat, the ahead-of-time compiler that turns C# into small, self-contained native binaries. Built at Nethermind and run as part of their zero-knowledge testing environment.
libziskos for bflat
Ziskos for bflat
bflat compiler for zkVM
Compile C# applications into fully native riscv64 binaries.
.NET builds for riscv64 (zkVM)
.NET distribution for fully native zkVM riscv64 compilation.
.NET builds for riscv32 (zkVM)
.NET distribution for fully native zkVM riscv32 compilation.
ARM64 builds for the VPN client
ARM64 builds for the VPN client.
Secure build system for the VPN client
Software supply chain-secure build system for the VPN client.
Easy STUN
Easy to use STUN daemon for Linux
ACS API RS
Auto Configuration Server controls in Rust
Custom router management cloud
Fully new router management cloud service.
Custom router software development
Fully new custom network router.
Custom OpenWRT-based platform
Custom OpenWRT-based ROM.
Cloud Management UI for routers
Router cloud management UI
Private network management project's UI
The UI for a private network management project written based on Isabelle platform and Yew framework. Coded pages logic, dashboards, and everything about it. The project is released.
Private network management project plugins & processing engine
Wrote a processing engine for a private network management project. It included writing the core (based on Isabelle), related plugins, deployment processes. The project is released.
Equestrian management platform
Management platform for the sport club based on Isabelle. This is a side project designed to simplify my own life.
Delta
Small yet powerful device intrusion detection mechanism. It has a negligible footprint, it is very portable, and basically can be used anywhere, even in IoT devices.
Arvore
Dynamic tree implementation which allows for advanced use cases - like state keeping.
Go parser for Visao
Parsing for Go based on C++/Rust.
Isabelle
High-performant server for managing basically anything. Written in Rust for the highest performance and stability, it is successfully used in many projects.
Evolucao / Web
The frontend for the static analysis orchestration server
Evolucao
The static analysis orchestration server
MediaTek platform bringup
Bringup of a MediaTek SoC to a software project along with the kernel, uBoot, target setup.
MediaTek NAND driver DMA implementation
DMA implementation for a custom MediaTek NAND driver
fmtparser
printf/scanf format parser
Cast
Convert compile_commands.json to Atmel Studio projects
Personal blog
Personal website in Jekyll with tons of Ruby magic
Equid IDE integration
Eclipse IDE integration for the Equid static analyzer.
Build trace
A project that is tracing the build on Linux, Windows and Mac and prepares configuration for the static analysis.
MediaTek SoC driver improvements
Numerous issues in MediaTek SoC were fixed.
WiFi Mesh investigation
Find and fix numerous issues in a commercial WiFi Mesh implementation.
Native toolchain detection
Detect existing toolchains and their parameters
Minimal Message Broker
Message broker that can be installed to embedded software and used from Python test suite.
Wristband software
Wristband software was ported to new hardware and gradually improved.
Wristband Test Suite
A complete test suite for wristband software based on Robot Framework
Bluetooth emulator
Emulator of Bluetooth activity for a consumer electronics device
Parslr
Test ANTLR grammars and prepare JUnit result XML from results. Useful in CI.
Static analysis testing ensemble
Testing static analysis projects is hard. This project aims to serve as a bridge between Continuous Integration (CI) and Verification Example Framework (VEF).
Builtinizer
Recreate signatures of Clang's builtin functions.
Verification Example Framework
The growing list of examples for C/C++/RuC analysis & verification. To be open sourced.
Analysis Server Protocol
The protocol that it is used to unite static analyzers and IDEs, not only for IDE tasks. Inspired by language server protocol
Wireguard CLI
A simple console interface for adding peers to Wireguard configuration files.
GostCode
Inject full source code listing to russian GOST documentation in Microsoft Office format, even if it is huge.
Test Suite for C/C++/Java reversible debugger
A complete test suite for the C/C++/Java reversible debugger has been written under my supervision.
Malware detection
Detected, reverse-engineered and eliminated malware in a big project.
Corporate infrastructure
A complete infrastructure was built for the commercial company.
Corporate infrastructure for my company
A complete infrastructure was built for my company.
Improvements in RuC language
RuC is a research language created to resolve issues in C languages. My role in it is in consulting of project members and occasional fixes.
Visao - a static analysis framework
A sophisticated tool for finding bugs and proving their absence in C/C++/Go code, this project aims at making analysis easy and worth to apply.
type-grammar
An attempt to make a unified ANTLR grammar for C/C++ types
SLABInject
Inject pages to SLAB caches in Linux. That may help improve performance and stability in memory-critical drivers in constrained environments.
SNULL LAN client emulation driver
Prepared a complete driver for emulating LAN clients.
Cryptography support for router software
Prepared cryptography improvements for router software.
SECCOMP for legacy kernel
SECCOMP mechanism has been ported to older Linux to facilitate LXC integration.
Package Manager for router software
A custom package manager has been coded for a commercial router software. It was based on opkg, but supported many additional features.
OpenVPN solution for router software
A custom OpenVPN solution for Linux-based router software was architected, developed and made available publicly. Partially supports cryptography offloading and packet traffic acceleration.
Containerization support for router software
A complete solution based on LXC has been written for commercial router. It was created with resource constraints in mind, so it actually could provide working containerization on a disk drive smaller than 30MB.
OverlayFS support for router software
OverlayFS support has been implemented in Linux-based router software package. While the OverlayFS itself is a kernel's feature, a lot of efforts were put into making it supported on a complete solution level, with booting process altered, security, secure erase and other levels sorted out.
Docker MIPS feasibility research
The Docker didn't have MIPS support back at that time, but the customer wanted to see it running. I investigated whether it is possible to port Docker (yes, it was), however, we stumbled upon Docker's design implications that prevented us from finishing the project.
WiFi driver fixes
Fixed multiple issues in Atheros and Intel (Metalink) WiFi drivers.
Initial setup wizard interface for router software
A new initial setup wizard was implemented for router software.
Personal CV
Personal CV in TeX
Race Researcher
A graphical interface to Race static analyzer, allowing to quickly spot locking failures.
Codename Race
A static analyzer aimed at finding race conditions in the Linux code. It uses Lockset algorithm with sophisticated selection of executed function pairs, and it has proven to be quite useful in production. The C parsing has been implemented through Roslyn patches.
Codename Race Cloud
Managed API for cloud usage of "Codename Race" static analyzer
DWC2 USB driver port
Ported DWC2 driver to a new platform, significantly improving stability and performance.
Custom static analyzer for router software
Since we had a host controller driver which was fatally flawed regarding locking, I've made a custom static analyzer to deal with locking problems. It was based on Roslyn patched to support C.
Refactoring of USB Host Controller Driver
Host Controller Driver used in one of commercial SoCs has been fatally flawed. Fixing it was a major challenge, which required creation of a custom static analyzer.
IPSec solution for router software
An L2TP/L2TP+IPSec solution for Linux-based router software was architected, developed and made available publicly. It also works with partial cryptography and packet traffic acceleration.
Certificate Store for router software
I've architected and implemented a complete certificate store module for commercial router, which supported certificate/private key generation, import/export, verification against a private key. Still used without major edits (as of 2022).
Web interface backend optimization
I've optimized web interface prefetching and loading got 7x performance boost.
Custom DynDNS client
I've created a custom DynDNS client that is deployed to thousands of devices worldwide.
OemMarket
An application to swap OEM stores on Windows Phone 7 without reboot.
PolicyVisualizer
A tool for Windows Phone 8 images which tries to find certain properties (say, bugs) within policies.
ncsdusb
The project which was a playground for Nokia Lumia (WP8) jailbreaks. Unfinished.
ffu-extract
A tool to extract Windows Phone 8 FFU images.
HqTokens
Reverse-engineered Windows Phone 7 tile management used for improving image quality.
ClockHub
Well-known project adding HTC-like Clock to Windows Phone 7 home screen. First featured in Dynamics (WP7).
WPBackup
Back up all important data from fully unlocked Windows Phone 7 devices.
HTC D000FF support
A part of OSBuilder for Windows Phone 7, a complete D000FF support was implemented to facilitate building of software images for HTC devices.
Windows Mobile Device Center launcher for Windows Phone 7
Do you miss fast & stable Windows Phone 7 File Managers and Registry Editors for PC? If you do, that's is a new approach for you. Launch ported Windows Mobile Device Center binaries.
uSMSProviders
Nokia Data Sense support for Windows Phone 7.
Dynamics (WP7)
Dynamics ROM is one of the most functional custom ROMs for Windows Phone 7. It is based on the latest OS version (7.10.8862 to be specific) and contains all existing language packs.
uPlatformInterop
Make Nokia Lumia applications compatible with other devices.
Accelerometer Toggle
An application to disable or enable accelerometer using internal Windows Phone 7 APIs.
WLANFix for HTC WP7 devices
In some cases WiFi gets broken on HTC Windows Phone 7 devices because the driver is in inappropriate state. This tool fixes that when applied on system boot.
RingtoneMaker
Make ringtones for the Windows Phone 7 without any limitations.
Native Debugger for Windows Phone 7
Bring native debugging experience to Windows Phone 7.
Opera Mobile 10 for Windows Phone 7 port
Opera Mobile 10 wasn't released for Windows Phone 7, but it was implemented through API emulation layer.
Opera Mini for Windows Phone 7 port
Unlock the ability to run the native Opera Mini on Windows Phone 7, which usually can't run unsigned native applications. That is implemented through API emulation layer.
Relocation of Z-modules
Windows Phone 7 XIP (kernel) modules have modules marked with Z flag. They require a special relocation handling. The procedure for this has been reverse-engineered, coded and incorporated to OSBuilder for Windows Phone 7.
InitFlashFilesFix
A tool for OSBuilder-based kitchens that fixes InitFlashFiles issues
Ultra3D for HTC HD2
The HTC HD2 driver which improves framerate in OpenGLES applications.
Sliding Sound service
Hardware keyboard slide in/slide out sounds on SE XPERIA X1
HTC HD2 display driver fix for Windows Mobile 6.5.x
The HTC HD2 driver has display distortions when running on Windows Mobile 6.5.x. The issue has been identified and patched directly in the driver.
StartMenuLayout
Choose between "hexagonal" layout and "grid" Start Menu layout on Windows Mobile.
Squared Grid Start Menu
A modification to Windows Mobile start menu that it makes it squared instead of hexagonal.
Quick Launch
Mini application aimed to be called on Search button call in Windows Phone 7, providing a set of quick settings.
LoaderVerifier (uLV)
The part of WP7 Full Unlock which disables executable file verification. Integrates with Account Manager to create seamless experience for the user.
Account Manager
The part of WP7 Full Unlock, this tool manages accounts on low level.
uPolicyEngine (uPL)
This part of WP7 full unlock manages atomic policy requests from the kernel. It disables checks for apps which are permitted to run without restrictions and integrates with Account Manager for the best user experience.
Cloaking Filter (FsPerf)
A part of WP7 Full Unlock which hides modified files from the kernel, allowing for Windows Update. Also, it improves performance via file system caching.
Full Unlock
Windows Phone 7 doesn't have an ability to run unsigned and/or native applications. That's the way to unlock these capabilities.
Cache Instantiator
A simple tool warming up the file system cache of Cloaking Filter (FsPerf)
Device Selector
The tool for OSBuilder-based WM6 kitchens that allows changing the active device.
ScrollingMod
Customizable Physics Engine for Windows Mobile 6.5. It allows changing various constants used when calculating scrolling in Start Menu and some other menus.
Night Mode
Decrease backlight beyond limits on SE XPERIA X1 to facilitate reading at night.
XPERIA X1 display driver tearing fix
The XPERIA X1 display driver had critical bugs which introduced stutter/tearing. This fix removes the stutter and makes the work much more comfortable.
Native Windows Phone 7 API (COM)
Native API for Windows Phone 7.
Overclock Manager
A graphical interface for SE XPERIA X1 overclocking.
leddev
Advanced LED patterns on SE XPERIA X1
Lock service
Automatic locking of SE XPERIA X1 device so that it doesn't hang.
cpudev (XPERIA X1 overclocking)
A run-once tool for SE XPERIA X1 overclocking. It was integrated to Dynamics ROM and was running automatically.
ImgfsFromDump for OSBuilder
A very fast multi-threaded ImgfsFromDump for Windows Mobile used in OSBuilder.
HTCVolumeControlProxy
Fix HTCVolumeControl in Windows Mobile 6.5.x on older HTC devices
Native Windows Phone 7 API
Native Windows Phone 7 API which can be used to start executables, change themes, use PageManager, manage tiles and a a lot more.
Remove Rich Signature
The tool to remove rich signatures from executable files and/or all executable files in .xap. This tool was heavily used in Dynamics ROMs.
AndroidLauncher
A minor tool from Dynamics ROM which auto starts Android by pressing the link in the start menu.
uTask
A sophisticated softkey reassignment tool for Windows Mobile 6.5.x. Also, fix position of old application windows completely automatically.
“Bold font fix” for Windows Mobile 6.5.3
I found the reason why fonts are always bold in Windows Mobile 6.5.3 and created a fix for it.
xwinkey
Configurable X button with LED effects on SE XPERIA X1
Snooze Service
Better alarm handling on Windows Mobile. Try avoiding common failures observed on SE XPERIA X1.
Camera Launcher
A minor tool in Dynamics ROM that replaces Sony Ericsson camera and allows changing default camera application.
VibrationSrv
The service in Dynamics ROM replaces not so useful silent mode with vibration mode.
Sony Ericsson XPERIA X1 two-way in-call recording
Default XPERIA X1 sound driver doesn't allow two-way in-call voice recording. The patch resolves the problem by mixing sound sources.
Music identification client
The application for Windows Mobile that used external servers to identify the information about played music, such as title, artist, album, genre, etc.
HTCSensorSDK for Sony Ericsson XPERIA X2
HTCSensorSDK is widely used across different Windows Mobile applications and games. It allows using accelerometer data. This is the port of HTC's library to Sony Ericsson XPERIA X2 (non-HTC platform).
Bluetooth Switch
A minor tool from Dynamics ROM which changes the state of Bluetooth.
WiFi Switch
Minor tool from Dynamics ROM which changes the state of WiFi.
ShutdownMenu
Shutdown menu override. Enable flashlight, bluetooth, wifi, open camera/email/phone/etc by long press of Power Off button.
ManilaSDK
A small implementation of HTC Sense-style controls for Windows Mobile, used in projects across Dynamics ROMs
TaskbarService
The tool which colorizes taskbar during calls and other events.
AlphaUC
First-boot customization tool for Windows Mobile 6.x.
SIPHook
Show all keyboards in SIP menu when using HTC EzInput.
ET9filter
Input Method Editor (IME) that fixes Sony Ericsson XPERIA X1 keyboard incompatibility with IMEEngine.
Stopwatch
A stopwatch for Dynamics ROM.
TweakTool
A tool to configure Dynamics ROMs.
ResourcePacker
The tool can be used to pack resource-only files to a heavily reduced Portable Executable. That results in significant savings and may improve robustness on Windows Mobile 6.x devices by less exploitation of shared memory slots.
FlashLight for Windows Mobile
HTC-like application acting as a flashlight for all HTC and SE devices.
DevHealthAnalyzer
The tool to analyze virtual memory on Windows Mobile 6.x. Moreover, it gives understanding what to and how to improve in order to get better software robustness. It can be used to determine the most memory-hungry libraries. Then you can reversmod them (reversmodded libraries reserve less ram than recmodded ones) or make r/w sections shared to improve situation.
Timer for Windows Mobile
A timer application for Dynamics ROM
Several contributions to Android for XPERIA X1
Contributed to XPERIA X1 Android project
Package Size Analyzer
A tool to get the complete size of OSBuilder packages.
Dynamics ROM
A well-known ROM series for HTC HD2 and Sony Ericsson XPERIA X1 which changes how devices work and feel.
WalkmanDisplay
Modify builtin player appearance.
SoftEdit
An ELF used to edit AdvancedSoftkeys configuration
AdvancedSoftkeys
Change 2-button softkey layout to 3-button (like in newer Sony Ericsson A2 phones like K850, W995)
StatusClock
Simple status bar clock indicator.
ThemeUnpacker
This ELF allows unpacking themes. Additionally, it cooperates with AdvancedSoftkeys and allows changing softkey themes.
GPRSSessionInfo
Simple tool for displaying GPRS session information when the session ends.
MapNavigator
A simple mini-GPS based map.
CoverArt in Standby
Add customizable current track information to Standby view.
EvtDesk
Graphical desktop for EventControl.
EvtEdit
The event editor which comes with EventControl.
EventControl
Native ELF for Sony Ericsson devices which could be used to execute scenarios by date & time, GPS location and more.
FlashLight
Configurable flashlight app for Sony Ericsson
Pattern Search
High-performance binary pattern search utility