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