Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
mtk-imei-switcheroo — Read and write IMEI records and WiFi/Bluetooth addresses in MediaTek NVRAM files or partition images. Includes interactive ADB tools for rooted devices and separate, version-specific modem/LK patchers for biloba. | Kitploit
Tools/GitHubGitHub/alltechdev/mtk-imei-switcheroo
Android SecurityEmbedded Systems SecurityReverse EngineeringInformation GatheringMobile SecurityUtilities & FrameworksHardware & IoT SecurityFirmware Analysis

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
GitHuballtechdev/mtk-imei-switcheroo

mtk-imei-switcheroo

Read and write IMEI records and WiFi/Bluetooth addresses in MediaTek NVRAM files or partition images. Includes interactive ADB tools for rooted devices and separate, version-specific modem/LK patchers for biloba.

View Repository
2751811 days agoReviewed by Kitploit

mtk-imei-switcheroo

Read and write IMEI records and WiFi/Bluetooth addresses in MediaTek NVRAM files or partition images. Includes interactive ADB tools for rooted devices and separate, version-specific modem/LK patchers for biloba.

Install

git clone https://github.com/alltechdev/mtk-imei-switcheroo
cd mtk-imei-switcheroo
python3 -m pip install -r requirements.txt

The NVRAM tools need Python 3.6+. IMEI operations require pycryptodome; WiFi/Bluetooth operations use only the standard library. Live tools also need ADB and a rooted device. Biloba's full verification workflow has separate dependencies.

Choose a tool

TaskCommandGuide
IMEI in a local file or partition imagepython3 tools/nvram/imei_tool.pyOffline IMEI
IMEI on a rooted device./tools/nvram/live_patch.shLive IMEI
WiFi/BT addresses in a local file or imagepython3 tools/nvram/mac_tool.pyOffline MAC
WiFi/BT addresses on a rooted device./tools/nvram/live_patch_mac.shLive MAC
Exact biloba modem/LK firmware pairVersioned Python patchersBiloba patchers

Usage

Run from the repository root:

python3 tools/nvram/imei_tool.py read LD0B_001
python3 tools/nvram/imei_tool.py read nvdata.img
python3 tools/nvram/imei_tool.py write LD0B_001 350859600862948 -s 1 -o LD0B_001_new
# Dual-SIM: use -s 2 for the second slot.

python3 tools/nvram/mac_tool.py read WIFI
python3 tools/nvram/mac_tool.py write WIFI --wifi 02:11:22:33:44:66 -o WIFI.patched
python3 tools/nvram/mac_tool.py write BT_Addr --bt 02:11:22:33:44:55 -o BT_Addr.patched

Offline tools accept individual records or supported partition images. See the guides for detection rules, duplicate records, backups and error handling.

Live device patching

./tools/nvram/live_patch.sh and ./tools/nvram/live_patch_mac.sh pull records, prompt for changes, push the patched files and offer a reboot. Follow the live IMEI or live MAC guide for requirements and verification.

Verification status

DeviceRecorded result
F21 ProIMEI and WiFi/BT flows verified on hardware
F25IMEI verified through the tester; WiFi/BT confirmed through the Java port
TIQ M5Dual-SIM IMEI and WiFi/BT flows verified on hardware
Biloba V12 modem + supplied LKPaired firmware patch reported working; modem-only patch bootlooped
Biloba V13 modem + bundled LKOffline checks passed; no hardware result reported
Biloba V14 modem + bundled LKOffline checks passed; no hardware result reported

Detailed validation distinguishes direct tests, external reports and offline checks. Shared chipset identity does not establish compatibility. Biloba adds a signed critical-data check; the NVRAM tools do not apply its firmware changes. See biloba status and limits.

WiFi MAC and Bluetooth address

Android's per-network MAC randomization can hide the device address. Android 12+ also caches the factory WiFi MAC; the live script updates that cache, whereas an offline partition edit alone does not. See live MAC behavior and device findings.

Repository layout

LocationPurpose
tools/nvram/Offline NVRAM tools and live ADB scripts
docs/Guides, formats, device findings and research explanations
firmware/biloba/Versioned firmware patchers and reproduction runner
research/biloba/Analysis helpers, execution harnesses and saved evidence
tests/NVRAM regression drivers and repository checks
tmp/, runs/Ignored local samples, backups and generated results

Firmware images, partition dumps and private keys are not included.

Related

Android app port · Credits and provenance · License

Download Tool