00:38 Preparation
01:24 How to connect to power outside of a car
1:08 Bench power adapter recommendation
1:27 Wiring the ISO harness (battery/ignition/ground)
2:26 Fastening connector screws
2:56 Taping exposed wires to avoid shorts
03:15 How to locate System Info & Kernel version
3:17 Settings → System Info
3:27 Android Settings → About Vehicular Platform → Kernel version
3:45 Power down, disconnect all but 4-pin USB
04:19 MediaTek drivers installation
3:56 Download driver/tool package
4:25 Windows 7+ Advanced Startup bypass
4:53 Disable driver signature enforcement (press 7)
5:27 Add Legacy Hardware → manual driver install
6:19 Choosing 64-bit vs 32-bit driver
7:14 Uninstall device entry (keep driver software)
7:25 Reboot before continuing
07:37 SP Flash Tool installation
7:39 Create desktop shortcut for flashtool.exe
08:30 Full flash backup with SP Flash Tool
8:43 Point to generic Scatter file (first backup only)
9:20 Memory Test tab → Ram Test only
9:44 Create "Memory Map" text file
10:04 Copy EMMC_PART_BOOT1 / EMMC_PART_USER addresses
10:47 Readback tab → create BOOT1 file
11:27 Set Type/Region/Length for BOOT1
11:56 Readback BOOT1 (contains preloader)
12:21 Create ROM_USER file
13:00 Set Type/Region/Length for ROM_USER
13:22 Readback ROM_USER (30–60 min)
14:09 Create your Scatter & Preloader
14:29 Download WwR MTK Tool (4PDA link)
14:54 Install/run WwR MTK Tool
15:14 Select BOOT1 file
15:48 AUTOMODE → Start AutoPilot
16:04 Create Scatter File
16:45 Manual DRAM-error fix (Partition Size → 0xC0000000)
18:13 Collect Firmware for a Hard Reset
18:30 Hard Reset folder (keep all but Scatter file)
19:01 Copy preloader into Scatter folder
19:20 Create your own Firmware
19:23 ROM_USER contains ALL personal data — warning
19:57 Cut ROM incl User data → "My Firmware" folder
20:50 Copy userdata.img / cache.img into "My Firmware"
21:24 Result: small shareable firmware (~137 Mb)
21:32 Warning: use ROM_USER for full recovery, not stripped firmware
Direct transcript file: Transcript Chronology File
# WwR MTK - Complete User Guide
**Version:** 2.51 Beta
**Last Updated:** May 26, 2019
**Developer:** vvaaavv@mail.ru
**Difficulty Level:** Complex (Service Program)
---
## Table of Contents
1. [Overview](#overview)
2. [Requirements](#requirements)
3. [Download & Installation](#download--installation)
4. [What This Program Does](#what-this-program-does)
5. [Key Features](#key-features)
6. [Getting Started](#getting-started)
7. [Creating Full Device Backup](#creating-full-device-backup)
8. [Using Autopilot Mode](#using-autopilot-mode)
9. [Advanced Features](#advanced-features)
10. [Important Warnings](#important-warnings)
11. [Version History](#version-history)
---
## Overview
WwR MTK is a professional service program for working with ROM files from MediaTek (MTK) processor-based Android devices. It extracts, analyzes, and creates firmware components needed for backup and restoration using SP Flash Tool.
**⚠️ ATTENTION:** This is a service program requiring technical knowledge. Improper use can damage your device.
---
## Requirements
### PC Requirements
- **OS:** Windows XP or higher
- **Software:** Visual C++ Redistributable (required)
- Download from: https://support.microsoft.com/visual-c-downloads
### Device Requirements
- MTK platform device
- ROM dump from SP Flash Tool
- USB drivers (VCOM drivers) installed
### Required Tools
- **SP Flash Tool** - for reading/writing device memory
- **WwR MTK** - this program
- **ADB** (optional) - for rooted device operations
---
## Download & Installation
### Download WwR MTK v2.51 Beta
**Russian Version:**
- File: `WwR_2.51_Rus.zip` (46.78 MB)
**English Version:**
- File: `WwR_2.51_Eng.zip` (46.78 MB)
### Installation Steps
1. Extract the ZIP file to a folder
2. Install Visual C++ Redistributable if not already installed
3. Run `WwR.exe`
---
## What This Program Does
### Primary Functions
1. **Preloader Extraction**
- Extracts Preloader.bin from ROM dump files
- Analyzes Preloader information (processor type, memory type)
- EMMC Parser shows compatible memory chips
2. **Partition Management**
- Splits ROM files into individual partitions
- Finds PMT, PGPT (SGPT), MBR partition tables
- Creates scatter files from partition information
- Calculates partition names, starts, and lengths
3. **Scatter File Creation**
- Automatic scatter file generation from:
- GPT (GUID Partition Table)
- PMT (Partition Management Table)
- Recovery_log data
- dumchar_info / partinfo
- Empty scatter file creation for initial device reading
4. **EXT4 Operations**
- View EXT4 partitions in ROM files
- Extract files from EXT4 images
- Create empty EXT4 partitions
- Convert to sparse images
5. **ADB Mode** (requires root)
- Device information display
- Partition list viewing
- App management (view, install, remove)
- Build.prop viewing
- Backup creation (Dumchar_info, Partinfo, Partitions, Full_ROM)
6. **NAND Memory Support**
- Cuts unnecessary sectors (Spare) from NAND dumps
- Auto-detects block size
---
## Key Features
### Instant Analysis
- Opens ROM file and instantly shows:
- Partition table type (GPT, PMT, MBR)
- Partition structure
- Full memory size
- GPT start and backup (SGPT) locations
### Autopilot Mode
- Automatic firmware extraction workflow
- Finds partition tables automatically
- Extracts preloader
- Creates scatter file
- Splits ROM into partitions
- All with minimal user interaction
### Multi-Device ADB
- Connect multiple devices simultaneously
- Auto-reconnection handling
- Device selection for operations
### Quality of Life
- View build.prop instantly
- ROM and scatter file verification
- Empty file creation (zeros or random data)
- Improved slicing speed (depends on HDD/SSD)
---
## Getting Started
### Understanding MTK Memory Structure
MTK devices have memory divided into regions:
```
┌─────────────────────────────────────┐
│ EMMC_BOOT_1 (ROM_0) │ ← Preloader located here
│ - Usually 4MB │ (MT67xx, MT6580 platforms)
│ - Contains Preloader.bin │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ EMMC_USER (ROM_1) │ ← All partitions here
│ - Contains all partitions: │
│ • LK (Bootloader) │
│ • Boot │
│ • System │
│ • Recovery │
│ • UserData │
│ • Cache │
│ • etc. │
└─────────────────────────────────────┘
```
### File Selection in Program
**When you select EMMC_USER (ROM_1):**
- Program auto-detects partition table type
- Shows partition structure
- Auto-selects EMMC_BOOT_1 (ROM_0) if in same folder
**When you select EMMC_BOOT_1 (ROM_0):**
- Program scans for Preloader
- Opens Preloader tab
- Performs Preloader analysis
- Auto-selects EMMC_USER (ROM_1) if in same folder
---
## Creating Full Device Backup
### Method 1: WITHOUT Scatter File (Unknown Device)
**Scenario:** You have a phone with unknown specifications, no scatter file, maybe not booting.
#### Step 1: Determine Processor Type
**Option A: Use ADB (if device boots)**
```bash
adb shell getprop ro.board.platform
```
**Option B: Try and check error message**
- Create empty scatter file in WwR MTK
- Try reading in SP Flash Tool
- Error message will show correct processor type
#### Step 2: Create Empty Scatter File
1. Open WwR MTK
2. Go to tab: **"Empty Scatter File"**
3. Select processor type (guess if unknown):
- MT6580, MT6737, MT6750, MT6753, etc.
4. Select memory type:
- **EMMC** - block size: `0x20000` (most common)
- **NAND** - variable block size
5. Click **"Create and Save As..."**
6. Save the scatter file
#### Step 3: Read First Megabyte with SP Flash Tool
1. Open SP Flash Tool
2. **Download tab:**
- Load your empty scatter file
3. **ReadBack tab:**
- Click **"Add"**
- Double-click new row
- Choose save location (e.g., `ROM_0.bin`)
- Settings:
- **Type:** HEX
- **Region:** EMMC_BOOT_1 (or EMMC_USER if not available)
- **Start Address:** `0x0000000000000000`
- **Length:** `0x0000000000100000` (1MB)
- Click **"OK"**
4. Click **"Read Back"**
5. Connect **fully powered-off** phone to PC
**Expected Results:**
- ✅ Green circle with checkmark = Success
- ❌ Error 4032 = Wrong processor type → change in WwR MTK, try again
- ❌ Error 4050 = Wrong memory type → change in WwR MTK, try again
#### Step 4: Extract Preloader with WwR MTK
1. Open WwR MTK
2. Select the ROM file you just read (ROM_0.bin)
3. **Preloader tab** opens automatically
4. Click **"Analyze Preloader"**
5. Check information:
- Preloader name
- Processor type (MT67xx shows MT6752, ignore this)
- Memory type
- Extraction possibility
6. Click **"Extract Preloader and Save As..."**
7. Save as `Preloader.bin`
**✅ You now have your device's native Preloader!**
#### Step 5: RAM Test - Determine Full Memory Size
1. In SP Flash Tool → **Download tab**
2. In the table, click empty field under "Location"
3. Select your extracted `Preloader.bin`
4. Go to **Memory Test tab**
5. **Uncheck all boxes EXCEPT "RAM Test"**
6. Click **"Start"**
7. Connect powered-off phone
**Result:** Look for line:
```
EMMC_PART_USER Size=0x00000001d2000000
```
This HEX value = full memory size
**Note:** If you see "DRAM Flip Test" instead (MT6757/MT6797):
- Read first 1MB of EMMC_USER instead
- Load in WwR MTK → Autopilot tab
- Program will show full memory size from GPT header
#### Step 6: Read Full ROM Dump
1. SP Flash Tool → **ReadBack tab**
2. Click **"Add"**
3. Double-click new row
4. Choose save location: `ROM_1.bin`
5. Settings:
- **Type:** HEX
- **Region:** EMMC_USER
- **Start Address:** `0x0000000000000000`
- **Length:** [Paste size from RAM Test, e.g., `0x1d2000000`]
6. Click **"OK"** then **"Read Back"**
7. Connect powered-off phone
**⏱️ This takes time!** (15-30 min for 16GB, longer for 32GB+)
**✅ Success = Full backup complete!**
---
### Method 2: WITH Stock Scatter File
If you have a scatter file from stock firmware:
#### Step 1: Prepare Scatter File
1. Open scatter file in Notepad++
2. Delete ALL lines after first partition (Preloader)
3. Save with new name: `scatter_empty.txt`
Example:
```
############################################################################################################
#
# General Setting
#
############################################################################################################
- general: MTK_PLATFORM_CFG
info:
- config_version: V1.1.2
platform: MT6580
project: k04ts_a
storage: EMMC
boot_channel: MSDC_0
block_size: 0x20000
############################################################################################################
#
# Layout Setting
#
############################################################################################################
- partition_index: SYS0
partition_name: preloader
file_name: preloader_k04ts_a.bin
is_download: true
type: SV5_BL_BIN
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x40000
region: EMMC_BOOT_1
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BOOTLOADERS
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
# DELETE EVERYTHING BELOW THIS LINE
```
#### Step 2: Follow Steps 3-6 from Method 1
Same as Method 1, but using your edited scatter file instead of empty one.
---
## Using Autopilot Mode
Autopilot automates the entire firmware extraction process.
### Step 1: Load ROM File
1. Open WwR MTK
2. **Autopilot tab**
3. Click **"Select File..."** (blue button)
4. Select your ROM_1 (EMMC_USER) dump
### What Autopilot Does Automatically:
**If GPT (PGPT) found:**
1. Checks for Preloader
2. Asks you to select ROM_0 (EMMC_BOOT_1) if needed
3. Analyzes Preloader
4. Extracts partition info from PGPT:
- Partition names
- Start addresses
- Lengths
5. Converts to scatter format
6. Renames partitions per template
7. Adds missing partitions (Preloader, PGPT, SGPT)
8. Calculates full memory size
9. Creates RESERVED partitions
10. Finds LK partition
11. Detects processor type from LK
12. Checks which partitions were fully read
13. Unchecks incomplete partitions
**If PMT found:**
- Similar process but uses PMT table instead of GPT
**If Recovery_Log found:**
- Extracts partition info from log
- Verifies partition starts match ROM file
- Calculates offset if needed
- Creates scatter file if verification passes
### Step 2: Review Conclusion
Program shows "Conclusion" with analysis results.
### Step 3: Configure Partitions
1. Go to **Scatter File tab**
2. **Uncheck partitions you DON'T need:**
- **Cache** - usually safe to skip
- **UserData** - contains personal data (photos, videos, apps)
- ⚠️ Skip if you want to keep data private
- ✅ Include if you want complete backup
### Step 4: Generate Firmware
Go back to **Autopilot tab**, section **"4) Collect Firmware:"**
**Two Options:**
**Option A: Full Firmware Package**
- Button: **"Split ROM into partitions, Create Scatter File"**
- Creates:
- Scatter file
- Individual partition files (boot.img, system.img, etc.)
- Extracted Preloader.bin
**Option B: Scatter File Only**
- Button: **"Create Scatter File..."**
- Creates scatter file only
- No partition splitting
### Result
You now have flashable firmware:
- `MT6xxx_Android_scatter.txt` - scatter file
- `preloader.bin` - bootloader
- `boot.img` - kernel
- `system.img` - Android OS
- `recovery.img` - recovery partition
- etc.
---
## Advanced Features
### 1. Partition Table Viewer
When you open a ROM file, instant partition table view:
**GPT Partitions:**
- Full table structure
- Partition names, starts, sizes
- Primary GPT (PGPT) and backup (SGPT) locations
**PMT Partitions:**
- PMT structure (if exists in first 26MB)
**MBR Partitions:**
- MBR + EBR layout
### 2. EXT4 Partition Viewer
**View Files in EXT4 Image:**
1. Select ROM file
2. Go to **EXT4 tab**
3. Browse filesystem
4. Extract individual files (files only, not directories)
5. See free space from filesystem metadata
**Create Empty EXT4 Partition:**
1. **EXT4 tab** → **Create EXT4**
2. Specify size
3. Choose format:
- Regular EXT4
- Sparse image (compressed)
### 3. Build.prop Quick View
- Instant build.prop viewing (no need to extract)
- Shows all device properties
### 4. ROM and Scatter Verification
- Compares ROM file with scatter file
- Verifies:
- Partition start addresses match
- Partition lengths match
- All partitions present
### 5. Create Empty Files
**Use Case:** Create dummy partition files for testing
1. Specify size
2. Choose fill type:
- **Zeros** (`0x00`)
- **Random data**
### 6. NAND Spare Sector Removal
For NAND devices:
- Removes spare/ECC sectors
- Cleans dump to only useful data
- Auto-detects block size
### 7. ADB Mode (Rooted Devices)
**Device Info:**
- Processor, model, Android version
- Build information
**Partition Operations:**
- List all partitions
- Backup individual partitions
- Full ROM backup via ADB
**App Management:**
- View installed apps
- Install APKs
- Remove apps
**File Operations:**
- View build.prop
- Access system files
---
## Important Warnings
### ⚠️ UserData Partition
**About UserData:**
- Contains ALL your personal data:
- Photos, videos, music
- App data, messages
- Contacts, downloads
**When creating scatter files:**
- If you flash with UserData included = **WIPES YOUR DATA**
- Recommendation: Reduce UserData length to 3GB (`0xC0000000`) in scatter
**From program author:**
> "If you use the created scatter file to flash the device, you must reduce the length of the UserData section in the scatter file itself to 3 GB (0xC0000000)"
### ⚠️ Encrypted UserData
If UserData is encrypted:
- Cannot read files
- Shows 0% zeros (completely filled)
- Cannot analyze content
### ⚠️ Unlocked Bootloader
**NEVER format devices with unlocked bootloaders!**
- Can permanently brick device
- Bootloader unlock status stored in partition metadata
### ⚠️ Flashing Between Devices
**Can I flash ROM from Device A to Device B?**
**Only if:**
- Exact same hardware (processor, memory chip)
- Same partition layout
- Same bootloader version
**Risks:**
- IMEI loss
- WiFi/Bluetooth MAC loss
- Device-specific calibration loss (camera, sensors)
### ⚠️ SP Flash Tool Write Memory Mode
**How to use Write Memory mode properly:**
- Use for specific partitions only
- NEVER write entire ROM with Write Memory
- Use Download mode for full flashing
- Check partition addresses carefully
### ⚠️ Preloader Safety
**Always use native Preloader:**
- ✅ Extract from your device
- ❌ Never use Preloader from different device
- Wrong Preloader = hard brick risk
---
## Version History
### Version 2.51 (Current - Latest)
- **Zero/FF Detection:** New algorithm, 3 functions merged into one
- **MTK Binary:** Length calculation up to 5 nesting levels
- **Android Partitions:** Length calculated with 2048-byte alignment
- **File Selection:** Fixed algorithm errors
- **EXT4_FS Improvements:**
- Block size read from superblock (not assumed 4096)
- Free space shown from filesystem metadata
- Encrypted partitions show 0% zeros
- **Partition Table:** Detects EXT4_FS, MTK binary, and Android types
- **Partition Search:** Better EXT4_FS detection, fewer false positives
- **PMT Viewer:** Can view PMT even with errors
- **Autopilot:**
- Tooltips added for firmware collection buttons
- Verification during partition slicing (OK/False status)
- **Interface:** Fixed English translation issues
### Version 2.50
- Complete interface redesign
- Auto-select second file (ROM_0 ↔ ROM_1)
- Instant partition table recognition
- EXT4 partition viewing and extraction
- Create empty EXT4 with sparse conversion
- Scatter from 1MB GPT data
- Multi-device ADB support
- Auto-reconnection in ADB mode
- Improved slicing speed (HDD/SSD dependent)
### Version 2.40
- Interface redesign with tab switching
- **ADB Mode introduced:**
- Device info, partition list
- App management (view/install/remove)
- Build.prop viewing
- Root backup (Dumchar_info, Partinfo, Full_ROM)
- Fixed Preloader extraction bugs
- Scatter table improvements (all fields visible)
- Recovery_Log scatter creation with verification
- 50+ partition support
- Auto-detection of partitions in ROM
- New partition search algorithm
- Platform detection via Recovery_Log (fallback to LK)
- Filesystem type recognition (EXT4_IMG, UBI_IMG, NORMAL_ROM)
### Version 2.30
- Interface changes
- English language support added
- Autopilot implementation
- Bug fixes
### Version 2.20
- Automatic Preloader extraction during ROM splitting
### Version 2.15
- Fixed FF detection at ends
- MT6589 scatter file support
### Version 2.0
- Scatter creation from dumchar_info/partinfo
- File comparison by start/length values
- Program size: 910x640
### Version 1.8
- Initial release
- ROM splitting, spare cutting, partition search
- PMT, PGPT, MBR+EBR1 support
- Program log
---
## Quick Reference Card
### Common Tasks
| Task | Location | Action |
|------|----------|--------|
| Extract Preloader | Preloader tab | Select ROM_0 → Analyze → Extract |
| Create scatter from dump | Autopilot tab | Select ROM_1 → Wait → Configure → Create |
| View partitions | Partition Table tab | Opens automatically with ROM_1 |
| Split ROM to files | Autopilot tab | Select ROM_1 → Configure → Split ROM |
| View EXT4 files | EXT4 tab | Select ROM → Browse → Extract |
| Create empty EXT4 | EXT4 tab | Specify size → Create |
| ADB backup (root) | ADB tab | Connect device → Select backup type |
| View build.prop | Various tabs | Auto-shown or dedicated viewer |
### File Types
| File | Description | Region |
|------|-------------|--------|
| ROM_0.bin | Raw dump with Preloader | EMMC_BOOT_1 |
| ROM_1.bin | Raw dump with all partitions | EMMC_USER |
| preloader.bin | Extracted bootloader | Extracted from ROM_0 |
| *.img | Individual partition | Extracted from ROM_1 |
| scatter.txt | Partition layout file | Generated by program |
### Memory Sizes (HEX to GB)
| HEX | Decimal | Size |
|-----|---------|------|
| 0x100000 | 1,048,576 | 1 MB |
| 0x40000000 | 1,073,741,824 | 1 GB |
| 0x80000000 | 2,147,483,648 | 2 GB |
| 0xC0000000 | 3,221,225,472 | 3 GB |
| 0x100000000 | 4,294,967,296 | 4 GB |
| 0x1D2000000 | 7,784,628,224 | ~7.25 GB |
| 0x200000000 | 8,589,934,592 | 8 GB |
| 0x400000000 | 17,179,869,184 | 16 GB |
| 0x800000000 | 34,359,738,368 | 32 GB |
---
## Troubleshooting
### Program won't start
- Install Visual C++ Redistributable
- Run as Administrator
### Can't find partition table
- Check ROM file is EMMC_USER (ROM_1)
- Try Partition Search tab → Scan
- ROM may be corrupted
### Autopilot asks for ROM_0
- Provide EMMC_BOOT_1 file with Preloader
- Program needs it to extract Preloader
### SP Flash Tool errors
- **4032:** Wrong processor in scatter
- **4050:** Wrong memory type (EMMC/NAND)
- **8038:** Wrong bootloader/preloader
### EXT4 shows empty
- Partition may be encrypted
- Partition may not be EXT4
- Check partition type in table
---
## Tips & Best Practices
1. **Always back up before flashing**
- Keep original ROM dumps safe
- Test scatter file before flashing
2. **Recovery first**
- Enter stock recovery before dumping (creates Recovery_Log)
3. **Organize files**
- Keep ROM_0 and ROM_1 in same folder
- Name clearly: `DeviceName_ROM_0.bin`
4. **Check free space**
- Full dump can be 8-32GB+
- Ensure sufficient HDD space
5. **Use quality USB cables**
- Bad cables cause read errors
- Use USB 2.0 ports (more stable than USB 3.0)
6. **Test before full dump**
- Read 1MB first to verify settings
- Saves time if settings wrong
7. **Document your process**
- Note processor type
- Note memory size
- Keep scatter files organized
---
## Support & Resources
- **Developer Email:** vvaaavv@mail.ru
- **Forum Topic:** 4PDA WwR MTK Thread
- **Required Tool:** SP Flash Tool
- **Required Drivers:** MTK VCOM USB Drivers
---
## Credits
**Program Author:** vvaaavv
**Header Design:** UM4
**Translation:** Community contributors
---
**Document Version:** 1.0
**Based on:** WwR MTK v2.51 Beta
**Created:** 2024
**Guide Author:** Compiled from 4PDA forum thread
---