Projects - MIPS

    Filter: All projects | Highlights | Active | Commercial/external
    Domains: Static analysis | Testing | Cybersecurity | Reverse-engineering | Development Tools | Operating systems & Embedded | Infrastructure
    Platforms: Windows | Linux | Mac | WM | WP7 | WP8 | ELFPack | 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 (93) | C# (32) | C++ (94) | Go (2) | Java (2) | Lua (2) | Python (11) | RuC (1) | Ruby (1) | Rust (11) | Shell (1) | TeX (1 + 15) | VB.NET (7)

    DeltaCybersecurity

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



    ArvoreStatic analysis

    • C

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



    fmtparserStatic analysisOpen-source

    • C

    printf/scanf format parser



    CastDevelopment ToolsOpen-source

    • Python

    Convert compile_commands.json to Atmel Studio projects



    Equid IDE integrationStatic analysisExternal

    • Java

    Eclipse IDE integration for the Equid static analyzer.



    Build traceStatic analysis, Reverse engineeringExternal

    • C, C++

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





    WiFi Mesh investigationReverse engineering, Operating systems & EmbeddedExternal

    • C, C++

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





    Minimal Message BrokerTesting, Operating systems & EmbeddedExternal

    • C, C++, Python

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



    ParslrStatic analysis, TestingOpen-source

    • Python

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



    Static analysis testing ensembleStatic analysis, TestingActive

    • 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 analysis, TestingActiveOpen-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 CLIInfrastructure, Operating systems & EmbeddedOpen-source

    • Python

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



    SLABInjectReverse engineering, Operating systems & EmbeddedOpen-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 kernelOperating systems & EmbeddedExternal

    • C, C++

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



    Package Manager for router softwareOperating systems & EmbeddedExternal

    • 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 softwareCybersecurity, Operating systems & EmbeddedExternal

    • 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 softwareOperating systems & EmbeddedExternal

    • 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 softwareOperating systems & EmbeddedExternal

    • 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 researchOperating systems & EmbeddedExternal

    • 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 fixesOperating systems & EmbeddedExternal

    • C, C++

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





    DWC2 USB driver portOperating systems & EmbeddedExternal

    • C, C++

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



    Refactoring of USB Host Controller DriverOperating systems & EmbeddedExternal

    • 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 softwareCybersecurity, Operating systems & EmbeddedExternal

    • 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 softwareCybersecurity, Operating systems & EmbeddedExternal

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



    Web interface backend optimizationOperating systems & EmbeddedExternal

    • C, C++, Lua

    I've optimized web interface prefetching and loading got 7x performance boost.



    Custom DynDNS clientOperating systems & EmbeddedExternal

    • C, C++

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