Projects

    Filter: All projects | Highlights | Active | Commercial/external
    Domains: Static analysis | Security/Reverse-engineering | WP8 | WP7 | WM | ELFPack | Compilers | Containerization | Networking | IoT
    Platforms: Windows | Linux | Mac | WP8 | WP7 | WM | Sony Ericsson
    CPU: ARM | ARM64 | X86_64 | RISC-V (32 bit) | RISC-V (64 bit) | MIPS
    Statistics: ANTLR (1) | Assembler (14) | Assembly (1) | Bash (5) | C (92) | C# (31) | C++ (94) | Go (2) | Java (2) | Lua (2) | Python (10) | RuC (1) | Ruby (1) | Rust (11) | TeX (1 + 15) | VB.NET (7)

    libziskos for bflatCompilersActiveHighlightsExternalOpen-source

    • C#, C, C++, Assembly

    Ziskos for bflat



    bflat compiler for zkVMCompilersActiveHighlightsExternalOpen-source

    • C#, C, C++

    Compile C# applications into fully native riscv64 binaries.



    .NET builds for riscv64 (zkVM)CompilersActiveHighlightsExternalOpen-source

    • C, C++

    .NET distribution for fully native zkVM riscv64 compilation.









    Easy STUNCommercialExternalOpen-source

    • C

    Easy to use STUN daemon for Linux



    ACS API RSCommercialExternalOpen-source

    • Rust

    Auto Configuration Server controls in Rust











    Private network management project's UIStatic analysisExternal

    • Rust

    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.





    Equestrian management platformNetworking

    • Rust

    Management platform for the sport club based on Isabelle. This is a side project designed to simplify my own life.



    DeltaCybersecurity, IoT

    • C

    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.



    ArvoreCybersecurity, Static analysis

    • C

    Dynamic tree implementation which allows for advanced use cases - like state keeping.



    Go parser for VisaoCybersecurity, Platforms, Parsing

    • Go, Rust, C++

    Parsing for Go based on C++/Rust.



    IsabelleCybersecurity, Platforms

    • Rust

    High-performant server for managing basically anything. Written in Rust for the highest performance and stability, it is successfully used in many projects.



    Evolucao / WebStatic analysis

    • Rust

    The frontend for the static analysis orchestration server



    EvolucaoStatic analysis

    • Rust

    The static analysis orchestration server



    MediaTek platform bringupCommercialExternal

    • C, C++

    Bringup of a MediaTek SoC to a software project along with the kernel, uBoot, target setup.





    fmtparserStatic analysisOpen-source

    • C

    printf/scanf format parser



    CastUncategorized projectsOpen-source

    • Python

    Convert compile_commands.json to Atmel Studio projects



    Personal blogUncategorized projectsOpen-source

    • Ruby

    Personal website in Jekyll with tons of Ruby magic



    Equid IDE integrationCommercialExternal

    • Java

    Eclipse IDE integration for the Equid static analyzer.



    Build traceStatic analysisExternal

    • C, C++

    A project that is tracing the build on Linux, Windows and Mac and prepares configuration for the static analysis.





    WiFi Mesh investigationCommercialExternal

    • C, C++

    Find and fix numerous issues in a commercial WiFi Mesh implementation.





    Minimal Message BrokerCommercialExternal

    • C, C++, Python

    Message broker that can be installed to embedded software and used from Python test suite.



    Wristband softwareCommercialExternal

    • C, C++

    Wristband software was ported to new hardware and gradually improved.



    Wristband Test SuiteCommercialExternal

    • C, C++, Python

    A complete test suite for wristband software based on Robot Framework



    Bluetooth emulatorCommercialExternal

    • C, C++, Python

    Emulator of Bluetooth activity for a consumer electronics device



    ParslrStatic analysisOpen-source

    • Python

    Test ANTLR grammars and prepare JUnit result XML from results. Useful in CI.



    Static analysis testing ensembleStatic analysisActive

    • Bash, Python

    Testing static analysis projects is hard. This project aims to serve as a bridge between Continuous Integration (CI) and Verification Example Framework (VEF).



    BuiltinizerStatic analysisOpen-source

    • C++

    Recreate signatures of Clang's builtin functions.



    Verification Example FrameworkStatic analysisActiveOpen-source

    • C, C++, RuC, Python

    The growing list of examples for C/C++/RuC analysis & verification. To be open sourced.



    Analysis Server ProtocolStatic analysisActiveHighlightsOpen-source

    • C, C++

    The protocol that it is used to unite static analyzers and IDEs, not only for IDE tasks. Inspired by language server protocol



    Wireguard CLIUncategorized projectsOpen-source

    • Python

    A simple console interface for adding peers to Wireguard configuration files.



    GostCodeUncategorized projectsOpen-source

    • C#

    Inject full source code listing to russian GOST documentation in Microsoft Office format, even if it is huge.





    Malware detectionCommercialExternal

    • C, C++, Assembler

    Detected, reverse-engineered and eliminated malware in a big project.







    Improvements in RuC languageUncategorizedOpen-source

    • C

    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 frameworkStatic analysisActiveHighlightsOpen-source

    • C, C++, Python, Bash, Rust

    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-grammarStatic analysisActiveOpen-source

    • ANTLR

    An attempt to make a unified ANTLR grammar for C/C++ types



    SLABInjectUncategorized projectsOpen-source

    • C

    Inject pages to SLAB caches in Linux. That may help improve performance and stability in memory-critical drivers in constrained environments.







    SECCOMP for legacy kernelCommercialExternal

    • C, C++

    SECCOMP mechanism has been ported to older Linux to facilitate LXC integration.



    Package Manager for router softwareCommercialExternal

    • C, C++

    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 softwareCommercialExternal

    • C, C++

    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 softwareCommercialExternal

    • C, C++

    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 softwareCommercialExternal

    • C, C++, Bash

    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 researchCommercialExternal

    • C, C++, Go

    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 fixesCommercialExternal

    • C, C++

    Fixed multiple issues in Atheros and Intel (Metalink) WiFi drivers.





    Personal CVUncategorized projects

    • TeX

    Personal CV in TeX



    Race ResearcherStatic analysis

    • C#

    A graphical interface to Race static analyzer, allowing to quickly spot locking failures.



    Codename RaceStatic analysisHighlights

    • C#

    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 CloudStatic analysis

    • C#

    Managed API for cloud usage of "Codename Race" static analyzer



    DWC2 USB driver portCommercialExternal

    • C, C++

    Ported DWC2 driver to a new platform, significantly improving stability and performance.



    Custom static analyzer for router softwareCommercialExternal

    • C#

    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 DriverCommercialExternal

    • Assembler, C, C++

    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 softwareCommercialExternal

    • C, C++

    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 softwareCommercialExternal

    • C, C++

    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).





    Custom DynDNS clientCommercialExternal

    • C, C++

    I've created a custom DynDNS client that is deployed to thousands of devices worldwide.



    OSBuilder8Windows Phone 8Highlights

    • C#, C++



    OemMarketWindows Phone 7Open-source

    • C#, C++

    An application to swap OEM stores on Windows Phone 7 without reboot.



    PolicyVisualizerWindows Phone 8

    • C#

    A tool for Windows Phone 8 images which tries to find certain properties (say, bugs) within policies.



    ncsdusbWindows Phone 8

    • C++, C#

    The project which was a playground for Nokia Lumia (WP8) jailbreaks. Unfinished.



    ffu-extractWindows Phone 8

    • C++

    A tool to extract Windows Phone 8 FFU images.



    HqTokensWindows Phone 7Open-source

    • C, C++

    Reverse-engineered Windows Phone 7 tile management used for improving image quality.



    XAPDeployerWindows Phone 7Highlights

    • C, C++, C#



    ClockHubWindows Phone 7Open-source

    • C, C++, C#

    Well-known project adding HTC-like Clock to Windows Phone 7 home screen. First featured in Dynamics (WP7).



    WPBackupWindows Phone 7HighlightsOpen-source

    • C#, C++

    Back up all important data from fully unlocked Windows Phone 7 devices.



    HTC D000FF supportWindows Phone 7

    • VB.NET, C#, C++

    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 7Windows Phone 7Open-source

    • C, C++, C#, Assembler

    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.



    uSMSProvidersWindows Phone 7Open-source

    • C, C++

    Nokia Data Sense support for Windows Phone 7.



    Dynamics (WP7)Windows Phone 7Highlights

    • C#, C++

    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.



    uPlatformInteropWindows Phone 7Open-source

    • C, C++

    Make Nokia Lumia applications compatible with other devices.



    Accelerometer ToggleWindows Phone 7Open-source

    • C++, C#

    An application to disable or enable accelerometer using internal Windows Phone 7 APIs.



    WLANFix for HTC WP7 devicesWindows Phone 7Open-source

    • C, C++

    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.



    RingtoneMakerWindows Phone 7

    • C#, C++

    Make ringtones for the Windows Phone 7 without any limitations.





    Opera Mobile 10 for Windows Phone 7 portWindows Phone 7HighlightsOpen-source

    • Assembler, C, C++

    Opera Mobile 10 wasn't released for Windows Phone 7, but it was implemented through API emulation layer.



    Opera Mini for Windows Phone 7 portWindows Phone 7Highlights

    • Assembler, C, C++

    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-modulesWindows Phone 7Highlights

    • VB.NET, C#

    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.



    InitFlashFilesFixWindows Mobile

    • C, C++

    A tool for OSBuilder-based kitchens that fixes InitFlashFiles issues



    Ultra3D for HTC HD2Windows Mobile

    • C, Assembler

    The HTC HD2 driver which improves framerate in OpenGLES applications.



    Sliding Sound serviceWindows Mobile

    • C++

    Hardware keyboard slide in/slide out sounds on SE XPERIA X1





    StartMenuLayoutWindows Mobile

    • C#

    Choose between "hexagonal" layout and "grid" Start Menu layout on Windows Mobile.



    Squared Grid Start MenuWindows Mobile

    • Assembler

    A modification to Windows Mobile start menu that it makes it squared instead of hexagonal.



    Quick LaunchWindows Phone 7Open-source

    • C#, C++

    Mini application aimed to be called on Search button call in Windows Phone 7, providing a set of quick settings.



    LoaderVerifier (uLV)Windows Phone 7

    • C, C++

    The part of WP7 Full Unlock which disables executable file verification. Integrates with Account Manager to create seamless experience for the user.



    Account ManagerWindows Phone 7

    • C, C++

    The part of WP7 Full Unlock, this tool manages accounts on low level.



    uPolicyEngine (uPL)Windows Phone 7

    • C, C++

    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)Windows Phone 7

    • C, C++

    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 UnlockWindows Phone 7Highlights

    • C

    Windows Phone 7 doesn't have an ability to run unsigned and/or native applications. That's the way to unlock these capabilities.



    Cache InstantiatorWindows Phone 7Open-source

    • C, C++

    A simple tool warming up the file system cache of Cloaking Filter (FsPerf)



    Device SelectorWindows Mobile

    • C#

    The tool for OSBuilder-based WM6 kitchens that allows changing the active device.



    ScrollingModWindows Mobile

    • C, C++

    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 ModeWindows Mobile

    • C++

    Decrease backlight beyond limits on SE XPERIA X1 to facilitate reading at night.



    XPERIA X1 display driver tearing fixWindows Mobile

    • Assembler

    The XPERIA X1 display driver had critical bugs which introduced stutter/tearing. This fix removes the stutter and makes the work much more comfortable.





    Overclock ManagerWindows Mobile

    • C++

    A graphical interface for SE XPERIA X1 overclocking.



    leddevWindows Mobile

    • C++

    Advanced LED patterns on SE XPERIA X1



    Lock serviceWindows Mobile

    • C++

    Automatic locking of SE XPERIA X1 device so that it doesn't hang.



    cpudev (XPERIA X1 overclocking)Windows Mobile

    • C++, Assembler

    A run-once tool for SE XPERIA X1 overclocking. It was integrated to Dynamics ROM and was running automatically.



    ImgfsFromDump for OSBuilderWindows MobileHighlights

    • C++

    A very fast multi-threaded ImgfsFromDump for Windows Mobile used in OSBuilder.



    HTCVolumeControlProxyWindows MobileOpen-source

    • C, C++

    Fix HTCVolumeControl in Windows Mobile 6.5.x on older HTC devices



    Native Windows Phone 7 APIWindows Phone 7HighlightsOpen-source

    • C, C++

    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 SignatureWindows Phone 7

    • C#

    The tool to remove rich signatures from executable files and/or all executable files in .xap. This tool was heavily used in Dynamics ROMs.



    AndroidLauncherWindows Mobile

    • C, C++

    A minor tool from Dynamics ROM which auto starts Android by pressing the link in the start menu.



    uTaskWindows MobileHighlights

    • C, C++, C#

    A sophisticated softkey reassignment tool for Windows Mobile 6.5.x. Also, fix position of old application windows completely automatically.





    xwinkeyWindows Mobile

    • C++

    Configurable X button with LED effects on SE XPERIA X1



    Snooze ServiceWindows Mobile

    • C++

    Better alarm handling on Windows Mobile. Try avoiding common failures observed on SE XPERIA X1.



    Camera LauncherWindows Mobile

    • C, C++

    A minor tool in Dynamics ROM that replaces Sony Ericsson camera and allows changing default camera application.



    VibrationSrvWindows Mobile

    • C

    The service in Dynamics ROM replaces not so useful silent mode with vibration mode.





    Music identification clientWindows Mobile

    • C#

    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 X2Windows MobileOpen-source

    • C

    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 SwitchWindows Mobile

    • C, C++

    A minor tool from Dynamics ROM which changes the state of Bluetooth.



    WiFi SwitchWindows Mobile

    • C, C++

    Minor tool from Dynamics ROM which changes the state of WiFi.



    ShutdownMenuWindows Mobile

    • C, C++

    Shutdown menu override. Enable flashlight, bluetooth, wifi, open camera/email/phone/etc by long press of Power Off button.



    ManilaSDKWindows Mobile

    • C#

    A small implementation of HTC Sense-style controls for Windows Mobile, used in projects across Dynamics ROMs



    TaskbarServiceWindows Mobile

    • C++

    The tool which colorizes taskbar during calls and other events.



    AlphaUCWindows Mobile

    • C#

    First-boot customization tool for Windows Mobile 6.x.



    SIPHookWindows MobileOpen-source

    • C, C++

    Show all keyboards in SIP menu when using HTC EzInput.



    ET9filterWindows MobileOpen-source

    • C, C++

    Input Method Editor (IME) that fixes Sony Ericsson XPERIA X1 keyboard incompatibility with IMEEngine.



    StopwatchWindows Mobile

    • C, C++

    A stopwatch for Dynamics ROM.



    TweakToolWindows Mobile

    • C#, VB.NET

    A tool to configure Dynamics ROMs.



    ResourcePackerWindows MobileOpen-source

    • VB.NET

    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.





    DevHealthAnalyzerWindows MobileOpen-source

    • VB.NET

    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.







    Package Size AnalyzerWindows MobileOpen-source

    • VB.NET

    A tool to get the complete size of OSBuilder packages.



    Dynamics ROMWindows MobileHighlights

    • C, C++, C#, VB.NET

    A well-known ROM series for HTC HD2 and Sony Ericsson XPERIA X1 which changes how devices work and feel.



    WalkmanDisplayELFPack projectsHighlightsOpen-source

    • C

    Modify builtin player appearance.



    SoftEditELFPack projectsOpen-source

    • C

    An ELF used to edit AdvancedSoftkeys configuration



    AdvancedSoftkeysELFPack projectsOpen-source

    • C

    Change 2-button softkey layout to 3-button (like in newer Sony Ericsson A2 phones like K850, W995)



    StatusClockELFPack projectsOpen-source

    • C

    Simple status bar clock indicator.



    ThemeUnpackerELFPack projectsOpen-source

    • C

    This ELF allows unpacking themes. Additionally, it cooperates with AdvancedSoftkeys and allows changing softkey themes.



    GPRSSessionInfoELFPack projectsOpen-source

    • C

    Simple tool for displaying GPRS session information when the session ends.



    MapNavigatorELFPack projects

    • C

    A simple mini-GPS based map.



    CoverArt in StandbyELFPack projectsHighlightsOpen-source

    • C

    Add customizable current track information to Standby view.



    EvtDeskELFPack projectsOpen-source

    • C

    Graphical desktop for EventControl.



    EvtEditELFPack projectsOpen-source

    • C

    The event editor which comes with EventControl.



    EventControlELFPack projectsOpen-source

    • C

    Native ELF for Sony Ericsson devices which could be used to execute scenarios by date & time, GPS location and more.



    FlashLightELFPack projects

    • C, C++

    Configurable flashlight app for Sony Ericsson



    Pattern SearchWindows

    • C#

    High-performance binary pattern search utility