SharpMTKClient is organized as a Windows C# source-code project for MTK protocol development. The licensed package is designed around separated workflow areas so developers can study, customize and extend the project for their own service software.
| Layer | Purpose |
|---|---|
| User Interface | Windows desktop screens for connection, logging, flash, partition, file management, configuration and operation flow. |
| Workflow Layer | Coordinates selected operations such as read info, flash, backup, erase, format, RPMB, NV or file extraction. |
| Protocol Layer | Handles LEGACY, XFLASH and XML command families where supported. |
| Device Transport | Manages Windows USB / serial communication paths, port detection and reconnect behavior. |
| Download Agent Layer | Parses, selects, uploads and configures DA stages where supported. |
| Storage Layer | Provides partition, region, sector, size and storage helpers for EMMC, UFS, NAND and selected targets. |
| File-System Layer | Handles Android partition and image access paths such as EXT4, EROFS, F2FS and logical partitions. |
| Security / Crypto Helpers | Contains selected device crypto, key, authorization and research-oriented helper paths depending on package scope. |
SharpMTKClient separates protocol behavior by workflow family:
- LEGACY: classic DA-based MTK flows for supported older devices.
- XFLASH: modern DA flows with native flash and partition operations where available.
- XML: MTK V6 / XML command paths used by supported firmware packages and device modes.
Each protocol path can have different command formats, reconnect behavior, storage handling, security requirements and supported operations.
- Detect a supported MediaTek port.
- Establish BROM or Preloader communication.
- Read hardware and security information.
- Handle watchdog or boot preparation where supported.
- Select DA, payload, EMI or XML workflow according to target requirements.
- Upload or initialize the required stage.
- Synchronize protocol state after mode changes.
- Query storage and partition information.
- Execute the selected operation.
- Report progress, logs, status and errors to the UI.
Licensed buyers commonly extend:
- Brand and model selection lists.
- DA selection rules.
- Firmware package parsing.
- Partition operation presets.
- NV and IMEI workflow screens.
- File-system browsing and extraction logic.
- Logging, reporting and customer-facing UI.
- Licensing, activation and branding layers.
- Keep protocol code understandable for C# developers.
- Preserve direct control over Windows desktop workflow behavior.
- Allow private branding and commercial customization.
- Keep device-specific logic separated where practical.
- Support both service-software workflows and research-oriented protocol study.