MTK reverse engineering and flash tool
Find a file
Bjoern Kerler 91f996b0f5
Some checks failed
Python application / Test (push) Has been cancelled
Update xflash_lib.py
2026-01-27 13:56:06 +01:00
.github Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
examples Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
mtkclient Update xflash_lib.py 2026-01-27 13:56:06 +01:00
Setup/Linux Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
Tools Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
.flake8 Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
.gitignore Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
learning_resources.md Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
LICENSE Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
MANIFEST.in Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
mtk.bat Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
mtk.py Change mt6261 handling, fix rf offset and length args missing 2026-01-23 20:05:34 +01:00
mtk_api.py Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
mtk_console.spec Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
mtk_gui.bat Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
mtk_gui.py Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
mtk_standalone.spec Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
pyproject.toml Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
README-INSTALL.md Add plugdev group creation command for Fedora 2026-01-25 12:04:28 +01:00
README-INSTALL.zh-CN.md Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
README-USAGE.md Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
README-USAGE.zh-CN.md Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
README-WINDOWS.md Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
README-WINDOWS.zh-CN.md Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
README.md Add installation hints links to README 2026-01-18 12:40:20 +01:00
README.zh-CN.md Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
requirements.txt Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
run.example Improve error handling, fix missing logs folder creation on debug mode, fix xml issues, fix gui progress handling 2026-01-22 18:47:37 +01:00
shell.nix Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
stage2.py Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00
uv.lock Initial release (new version 2.1.2) 2026-01-18 12:38:32 +01:00

Language: 🇺🇸 🇨🇳

MTKClient

Logo

Just some mtk tool for exploitation, reading/writing flash and doing crazy stuff. For windows, you need to install the stock mtk port and the usbdk driver (see instructions below). For linux, a patched kernel is only needed when using old kamakiri (see Setup folder) (except for read/write flash).

Once the mtk script is running, boot into brom mode by powering off device, press and hold either vol up + power or vol down + power and connect the phone. Once detected by the tool, release the buttons.

MT6781, MT6789, MT6855, MT6886, MT6895, MT6983, MT8985

  • These chipsets use a new protocol called V6 and the bootrom is patched. You need to use the --loader option and a proper loader from the Loaders/V6 directory. Bootrom won't work, you need to use preloader mode (no hw buttons pressed, just connect). On some devices, preloader is deactivated, but you can reactivate it by running "adb reboot edl".

Credits

  • kamakiri [xyzz]
  • linecode exploit [chimera]
  • Chaosmaster
  • Geert-Jan Kreileman (GUI, design & fixes)
  • All contributors

Installation

See linux/macos installation hints

See windows installation hints

Usage

See usage instructions

Use Re LiveDVD (everything ready to go, based on Ubuntu):

User: user, Password:user (based on Ubuntu 22.04 LTS)

Live DVD V6

I have issues ....... please send logs and full console details !

  • Run the mtk tool with --debugmode. Log will be written to log.txt (hopefully)

Rules / Infos

Chip details / configs

  • Go to config/brom_config.py
  • Unknown usb vid/pids for autodetection go to config/usb_ids.py

Other Stuff

Learning resources