Maxim Menshikov's portfolio
2024 | Private network management project’s UI | Lead developer · Created the UI. |
2024 | Private network management project plugins & processing engine | Lead developer · Created the engine and all the related libraries. |
2024 | Equestrian management platform | Lead developer · Created the UI & server plugins |
2023 | Delta | Lead developer - Interpretica · Created from scratch |
2023 | Arvore | Lead developer - Interpretica · Created from scratch |
2024 | Go parser for Visao | Lead developer - Interpretica · Created from scratch |
2023 | Isabelle | Lead developer - Interpretica · Created from scratch |
2022-2024 | Evolucao / Web | Lead developer - Interpretica · Created the frontend for the Evolucao project. · Designed & coded all the needed pages |
2022-2024 | Evolucao | Lead developer - Interpretica · Created the server for orchestration of static analysis nodes. |
2022 | MediaTek platform bringup | Senior Software Engineer - Interpretica · Brought up a new Mediatek platform to a hardware project. · Ported uBoot, kernel; fixed corresponding targets. |
2021 | MediaTek NAND driver DMA implementation | Senior Software Engineer - Interpretica · Implemented DMA support in a custom MediaTek NAND driver. |
2021 | fmtparser | printf/scanf format parser |
2021 | Cast | Convert compile_commands.json to Atmel Studio projects |
2021 | Personal blog | Personal website in Jekyll with tons of Ruby magic |
2021 | Equid IDE integration | Team leader - Interpretica · Led a team integrating the static analyzer to the Eclipse IDE. |
2021 | Build trace | Lead developer - Interpretica · Investigated ways to perform tracing of builds. · Implemented build tracing. |
2021 | MediaTek SoC driver improvements | Senior Software Engineer - Interpretica · Fixed and reimplemented numerous issues in ratelimit, QoS drivers. · Implemented rate limit, QoS support in router software |
2021 | WiFi Mesh investigation | Senior Software Engineer - Interpretica · Found numerous issues in WDS implementation. · Fixed the issues, deployed WiFi Mesh solution. |
2021 | Native toolchain detection | Lead developer - Interpretica · Investigated ways to perform toolchain detection for various compilers, operating systems and CPUs. · Implemented the detection. · Integrated it to the static analyzer. |
2021 | Minimal Message Broker | Software architect, Principal software engineer, Team leader - Interpretica · Architected and coded the core of the message broker. · Helped team integrate it to Wristband Test Suite |
2021 | Wristband software | Software architect, Principal software engineer, Team leader - Interpretica · Architected a software package for the wristband. · Coded a significant part of a package. · Ported many modules from previous generation device. |
2021 | Wristband Test Suite | Software architect, Principal software engineer, Team leader - Interpretica · Architected a test suite for wristband software verification based on Robot Framework. · Coordinated the development of the device-side and host-side modules. |
2021 | Bluetooth emulator | Software architect, Principal software engineer - Interpretica · Architected and implemented a tool to benchmark consumer electronics device performance, battery consumption. |
2021 | Parslr | Test ANTLR grammars and prepare JUnit result XML from results. Useful in CI. |
2020-2021 | 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). |
2020 | Builtinizer | Recreate signatures of Clang’s builtin functions. |
2016-2021 | Verification Example Framework | The growing list of examples for C/C++/RuC analysis & verification. To be open sourced. |
2018-2021 | Analysis Server Protocol | Lead developer - Interpretica · Architected and implemented JSONRPC-based client/server model for interoperating with static analysis. |
2020 | Wireguard CLI | A simple console interface for adding peers to Wireguard configuration files. |
2020 | GostCode | Inject full source code listing to russian GOST documentation in Microsoft Office format, even if it is huge. |
2020 | Test Suite for C/C++/Java reversible debugger | Lead Developer, Team Leader - Interpretica · Led a team making a test suite for a C/C++/Java reversible debugger. · Architected and coded the biggest part of a test suite. |
2019 | Malware detection | Security Analyst - Interpretica · Detected malware in a global project. · Reverse-engineered malware and found attack vectors. · Prepared a solution neutralizing the malware. · Deployed a solution to thousands of devices. |
2020 | Corporate infrastructure | Administrator - Interpretica · Set up the complete hardware infrastructure. · Set up DHCP, DNS, VPN, NGINX with proxying, GitLab, Nexus, virtual machines, file servers, Jenkins and many more. |
2020 | Corporate infrastructure for my company | Administrator - Interpretica · Set up the complete hardware infrastructure. · Set up DHCP, DNS, Wireguard, NGINX with proxying, Gitea, LDAP, virtual machines, file servers, Jenkins and many more. |
2019 | Improvements in RuC language | Contributor - Interpretica · Contributed significant refactoring of compiler engine. · Designed contract system. · Added static analysis support. |
2019 | Visao - a static analysis framework | Lead developer - Interpretica · Architected a complete static analysis framework from scratch. · Researched methods and methodology. · Implemented parsers for C/C++/Go languages. · Created own Midair virtual machine and its language. · Developed solving and diagnostics engines. |
2018-2021 | type-grammar | An attempt to make a unified ANTLR grammar for C/C++ types |
2018 | SLABInject | Inject pages to SLAB caches in Linux. That may help improve performance and stability in memory-critical drivers in constrained environments. |
2018 | SNULL LAN client emulation driver | Senior Software Engineer - Interpretica · Prepared a complete driver for emulating LAN clients. |
2018 | Cryptography support for router software | Senior Software Engineer - Interpretica · Reworked cryptography support. · Fixed entropy sources. · Implemented and debugged hardware cryptography support drivers. |
2018 | SECCOMP for legacy kernel | Senior Software Engineer - Interpretica · Backported SECCOMP to older kernel. |
2018 | Package Manager for router software | Senior Software Engineer - Interpretica · Developed a package manager tightly integrated with the internal management system. |
2018 | OpenVPN solution for router software | Senior Software Engineer - Interpretica · Added support for these tunnels with partial hardware traffic/cryptography acceleration. |
2018 | Containerization support for router software | Senior Software Engineer - Interpretica · Implemented a container-based virtualization system for the Internet-Of-Things devices. |
2017 | OverlayFS support for router software | Senior Software Engineer - Interpretica · Prepared overlayed file system for industrial routers and handled security implications. |
2017 | Docker MIPS feasibility research | Senior Software Engineer - Interpretica · Investigated feasibility of integrating Docker to MIPS-based system. · Preliminarly ported Docker to MIPS. |
2017 | WiFi driver fixes | Senior Software Engineer - Interpretica · Fixed multiple issues in Atheros, Intel (Metalink) and MediaTek WiFi drivers. · Architected and implemented calibration mechanism for these drivers. |
2016 | Initial setup wizard interface for router software | Senior Software Engineer - Interpretica · Architected and implemented a new initial setup wizard. |
2016 | Personal CV | Personal CV in TeX |
2014-2016 | Race Researcher | A graphical interface to Race static analyzer, allowing to quickly spot locking failures. |
2014-2016 | 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. |
2015 | Codename Race Cloud | Managed API for cloud usage of “Codename Race” static analyzer |
2016 | DWC2 USB driver port | Senior Software Engineer - Interpretica · Ported DWC2 driver to a new platform, significantly improving stability and performance. |
2015 | Custom static analyzer for router software | Senior Software Engineer - Interpretica · Found a place where static analysis could be useful. · Implemented a static analyzer to fix the issue. |
2015 | Refactoring of USB Host Controller Driver | Software Engineer - Interpretica · Found and resolved critical issues in USB Host Controller Driver. · Saved multi-million contract by allowing to finish certification. |
2016 | IPSec solution for router software | Software Engineer - Interpretica · Added support for these tunnels with partial hardware traffic/cryptography acceleration. |
2015 | Certificate Store for router software | Software Engineer - Interpretica · Implemented an OpenSSL-based solution for storing, updating and verifying certificates and private keys. · Deployed to hundreds of thousands devices worldwide. |
2014 | Web interface backend optimization | Software Engineer - Interpretica · Improved web interface performance by 7 times. |
2014 | Custom DynDNS client | Software Engineer - Interpretica · Architected and implemented a custom DynDNS client. |
2012-2014 | OSBuilder8 | |
2011-2013 | OemMarket | An application to swap OEM stores on Windows Phone 7 without reboot. |
2013 | PolicyVisualizer | Security Analyst - Interpretica · Architected and implemented a tool to visualize security policies. · Found several issues in Windows Phone 8 security policies. |
2013 | ncsdusb | Security Analyst - Interpretica · Found several issues in Nokia USB implementation. · Prepared a Proof-of-Concept exploting the issue. |
2013 | ffu-extract | A tool to extract Windows Phone 8 FFU images. |
2011-2012 | HqTokens | Reverse-engineered Windows Phone 7 tile management used for improving image quality. |
2011-2012 | XAPDeployer | |
2011-2013 | ClockHub | Well-known project adding HTC-like Clock to Windows Phone 7 home screen. First featured in Dynamics (WP7). |
2012 | WPBackup | Back up all important data from fully unlocked Windows Phone 7 devices. |
2010-2011 | 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. |
2011-2012 | 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. |
2010-2012 | uSMSProviders | Nokia Data Sense support for Windows Phone 7. |
2011-2013 | 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. |
2010-2012 | uPlatformInterop | Make Nokia Lumia applications compatible with other devices. |
2012 | Accelerometer Toggle | An application to disable or enable accelerometer using internal Windows Phone 7 APIs. |
2011-2012 | 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. |
2012-2013 | RingtoneMaker | Make ringtones for the Windows Phone 7 without any limitations. |
2011-2012 | Native Debugger for Windows Phone 7 | Bring native debugging experience to Windows Phone 7. |
2011-2012 | 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. |
2011 | 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. |
2010-2011 | 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. |
2010 | InitFlashFilesFix | A tool for OSBuilder-based kitchens that fixes InitFlashFiles issues |
2011 | Ultra3D for HTC HD2 | The HTC HD2 driver which improves framerate in OpenGLES applications. |
2010 | Sliding Sound service | Hardware keyboard slide in/slide out sounds on SE XPERIA X1 |
2010-2011 | 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. |
2011 | StartMenuLayout | Choose between “hexagonal” layout and “grid” Start Menu layout on Windows Mobile. |
2011 | Squared Grid Start Menu | A modification to Windows Mobile start menu that it makes it squared instead of hexagonal. |
2011-2013 | Quick Launch | Mini application aimed to be called on Search button call in Windows Phone 7, providing a set of quick settings. |
2010-2012 | LoaderVerifier (uLV) | The part of WP7 Full Unlock which disables executable file verification. Integrates with Account Manager to create seamless experience for the user. |
2010-2013 | Account Manager | The part of WP7 Full Unlock, this tool manages accounts on low level. |
2010-2013 | 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. |
2010-2011 | 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. |
2010-2013 | 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. |
2011-2012 | Cache Instantiator | A simple tool warming up the file system cache of Cloaking Filter (FsPerf) |
2010-2011 | Device Selector | The tool for OSBuilder-based WM6 kitchens that allows changing the active device. |
2011 | 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. |
2011 | Night Mode | Decrease backlight beyond limits on SE XPERIA X1 to facilitate reading at night. |
2011 | 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. |
2011-2013 | Native Windows Phone 7 API (COM) | Native API for Windows Phone 7. |
2011 | Overclock Manager | A graphical interface for SE XPERIA X1 overclocking. |
2011 | leddev | Advanced LED patterns on SE XPERIA X1 |
2011 | Lock service | Automatic locking of SE XPERIA X1 device so that it doesn’t hang. |
2011 | cpudev (XPERIA X1 overclocking) | A run-once tool for SE XPERIA X1 overclocking. It was integrated to Dynamics ROM and was running automatically. |
2011 | ImgfsFromDump for OSBuilder | A very fast multi-threaded ImgfsFromDump for Windows Mobile used in OSBuilder. |
2011 | HTCVolumeControlProxy | Fix HTCVolumeControl in Windows Mobile 6.5.x on older HTC devices |
2011-2013 | 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. |
2010-2012 | 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. |
2011 | AndroidLauncher | A minor tool from Dynamics ROM which auto starts Android by pressing the link in the start menu. |
2010-2011 | uTask | A sophisticated softkey reassignment tool for Windows Mobile 6.5.x. Also, fix position of old application windows completely automatically. |
2010 | “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. |
2010 | xwinkey | Configurable X button with LED effects on SE XPERIA X1 |
2010 | Snooze Service | Better alarm handling on Windows Mobile. Try avoiding common failures observed on SE XPERIA X1. |
2010-2011 | Camera Launcher | A minor tool in Dynamics ROM that replaces Sony Ericsson camera and allows changing default camera application. |
2010-2011 | VibrationSrv | The service in Dynamics ROM replaces not so useful silent mode with vibration mode. |
2010 | 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. |
2010 | 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. |
2010 | 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). |
2010-2011 | Bluetooth Switch | A minor tool from Dynamics ROM which changes the state of Bluetooth. |
2010-2011 | WiFi Switch | Minor tool from Dynamics ROM which changes the state of WiFi. |
2010 | ShutdownMenu | Shutdown menu override. Enable flashlight, bluetooth, wifi, open camera/email/phone/etc by long press of Power Off button. |
2009-2010 | ManilaSDK | A small implementation of HTC Sense-style controls for Windows Mobile, used in projects across Dynamics ROMs |
2010-2011 | TaskbarService | The tool which colorizes taskbar during calls and other events. |
2009-2011 | AlphaUC | First-boot customization tool for Windows Mobile 6.x. |
2009-2010 | SIPHook | Show all keyboards in SIP menu when using HTC EzInput. |
2009-2010 | ET9filter | Input Method Editor (IME) that fixes Sony Ericsson XPERIA X1 keyboard incompatibility with IMEEngine. |
2010-2011 | Stopwatch | A stopwatch for Dynamics ROM. |
2009-2011 | TweakTool | A tool to configure Dynamics ROMs. |
2009-2010 | 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. |
2009-2011 | FlashLight for Windows Mobile | HTC-like application acting as a flashlight for all HTC and SE devices. |
2009 | 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. |
2009-2010 | Timer for Windows Mobile | A timer application for Dynamics ROM |
2009 | Several contributions to Android for XPERIA X1 | Contributed to XPERIA X1 Android project |
2009 | Package Size Analyzer | A tool to get the complete size of OSBuilder packages. |
2009-2011 | Dynamics ROM | A well-known ROM series for HTC HD2 and Sony Ericsson XPERIA X1 which changes how devices work and feel. |
2009 | WalkmanDisplay | Modify builtin player appearance. |
2008-2009 | SoftEdit | An ELF used to edit AdvancedSoftkeys configuration |
2008-2009 | AdvancedSoftkeys | Change 2-button softkey layout to 3-button (like in newer Sony Ericsson A2 phones like K850, W995) |
2009 | StatusClock | Simple status bar clock indicator. |
2008 | ThemeUnpacker | This ELF allows unpacking themes. Additionally, it cooperates with AdvancedSoftkeys and allows changing softkey themes. |
2008 | GPRSSessionInfo | Simple tool for displaying GPRS session information when the session ends. |
2008 | MapNavigator | A simple mini-GPS based map. |
2008 | CoverArt in Standby | Add customizable current track information to Standby view. |
2008-2009 | EvtDesk | Graphical desktop for EventControl. |
2008-2009 | EvtEdit | The event editor which comes with EventControl. |
2008-2009 | EventControl | Native ELF for Sony Ericsson devices which could be used to execute scenarios by date & time, GPS location and more. |
2008 | FlashLight | Configurable flashlight app for Sony Ericsson |
2006-2009 | Pattern Search | High-performance binary pattern search utility |