Maxim Menshikov

Static analysis researcher and software engineer

Projects - X86_64

    Visao Static analysis

    • Rust

    The static analysis orchestration server

    fmtparser Static analysis Open-source

    • C

    printf/scanf format parser

    Cast Uncategorized projects Open-source

    • Python

    Convert compile_commands.json to Atmel Studio projects

    Equid IDE integration Commercial EXTERNAL

    • Java

    Eclipse IDE integration for the Equid static analyzer.

    Build trace Static analysis EXTERNAL

    • C, C++

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

    Minimal Message Broker Commercial EXTERNAL

    • C, C++, Python

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

    Wristband Test Suite Commercial EXTERNAL

    • C, C++, Python

    A complete test suite for wristband software based on Robot Framework

    Bluetooth emulator Commercial EXTERNAL

    • C, C++, Python

    Emulator of Bluetooth activity for a consumer electronics device

    Parslr Static analysis Open-source

    • Python

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

    Static analysis testing ensemble Static analysis Active

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

    Builtinizer Static analysis Open-source

    • C++

    Recreate signatures of Clang's builtin functions.

    Verification Example Framework Static analysis Active Open-source

    • C, C++, RuC, Python

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

    Analysis Server Protocol Static analysis Active Highlights Open-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 CLI Uncategorized projects Open-source

    • Python

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

    GostCode Uncategorized projects Open-source

    • C#

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

    SLABInject Uncategorized projects Open-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 kernel Commercial EXTERNAL

    • C, C++

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

    Package Manager for router software Commercial EXTERNAL

    • 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 software Commercial EXTERNAL

    • 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 software Commercial EXTERNAL

    • 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 software Commercial EXTERNAL

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

    Refactoring of USB Host Controller Driver Commercial EXTERNAL

    • 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 software Commercial EXTERNAL

    • 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 software Commercial EXTERNAL

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

    OSBuilder8 Windows Phone 8 Highlights

    • C#, C++

    ncsdusb Windows Phone 8

    • C++, C#

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

    ffu-extract Windows Phone 8

    • C++

    A tool to extract Windows Phone 8 FFU images.

    WPBackup Windows Phone 7 Highlights Open-source

    • C#, C++

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

    HTC D000FF support Windows 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.

    Remove Rich Signature Windows 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.

    ResourcePacker Windows Mobile Open-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.

    DevHealthAnalyzer Windows Mobile Open-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 Analyzer Windows Mobile Open-source

    • VB.NET

    A tool to get the complete size of OSBuilder packages.

    Pattern Search Windows

    • C#

    High-performance binary pattern search utility