This is an old revision of the document!
This page is a work in process.
Docomo Phones by Mitsubishi
Check the dumping hardware overview for a list of known preservation hardware.
If you need help, please come chat with us on the VGPC or No-Intro discord servers.
Introduction
Mitsubishi phones were only manufactured in the early era of Docomo Foma phones. Current tools allow us to extract full data from some phones, and partial data (apps only) from other phones.
| Phone Model | Extractable? | File System (Main Storage) | FTL (Flash Translation Layer) |
|---|---|---|---|
| D2102V | Unknown | Unknown | Unknown |
| D900i | Not yet | DATA Structure | None |
| D901i | Not yet | Unknown | Unknown |
| D901iS | Unknown | Unknown | Unknown |
| D701i | Unknown | Unknown | Unknown |
| D701iWM | Unknown | Unknown | Unknown |
| D902i | Java folder only | Unknown | Unknown |
| D902iS | Java folder only | Unknown | Unknown |
| D702i | Java folder only | Unknown | Unknown |
| D702iF | Unknown | Unknown | Unknown |
| D903i | Java folder confirmed Full extractability unknown | Unknown | Unknown |
| D903iTV | Java folder confirmed Full extractability unknown | Unknown | Unknown |
| D703i | Java folder confirmed Full extractability unknown | Unknown | Unknown |
| D904i | Yes | FAT16 | “SH904i/D904i” FTL |
| D704i | Yes | FAT16 | “SH904i/D904i” FTL |
| D905i | Yes | FAT32 | “B4B4” FTL |
| D705i | Yes | FAT16 | XSR2 |
| D705iμ | Yes | FAT16 | XSR2 |
| D800iDS | Java folder only | Unknown | Unknown |
Methods
Extracting Data
Reading File Systems
Note that the dump_java script does not require the use of file extraction tools because it extracts individual files directly from the phone.
Ktdumper
Ktdumper is a tool for extracting data from feature phones that are compatible with the Foma debug adapter, which includes all Docomo phones and select SoftBank phones. Please note that ktdumper will not work unless you have the Foma debug adapter.
Ktdumper is compatible with Linux and WSL (Windows System on Linux). It can be used as a command line tool or as a live Linux iso with a GUI.
Ktdumper Command Line
- Make sure your phone is connected to the PC with a debug cable. If using WSL, you will need to bind your USB device. The easiest way to do this is with wsl-usb-gui.
- Download the ktdumper repository from Github
- Navigate to the main ktdumper folder, where the code will be executed.
- You can execute the following commands
- NAND (contains user data, downloads, etc.)
sudo ./ktdumper.sh [insert phone model] dump_nand
- NOR (usually default data, sometimes user data if the phone does not have nand)
sudo ./ktdumper.sh [insert phone model] dump_nor
- JAVA Folder (only works on select Mitsubishi/Fujitsu phones)
sudo ./ktdumper.sh [insert phone model] dump_java
Sample For D904i
sudo ./ktdumper.sh d904i dump_nand
Reading Data
assemble_sh704i_d904i.py
Before using assemble_sh704i_d904i.py, you must separate the NAND and OOB (out of bounds) data.
- Download the separate_nand_oob.py script from Github and place it into the folder generated by ktdumper
- Execute the following script
python separate_nand_oob.py nand_mixed.bin
- When given a set of options, select 0 (the other options are not needed for D904i/SH904i devices)
0: Data = 512 Bytes, OOB = 16 bytes, divisible = True
To remove the FTL:
- Download the assemble_sh704i_d904i.py script from Github
- Execute the following command
python assemble_sh704i_d904i.py nand_mixed_separated_512.bin output.bin
After this, you must use TestDisk to acquire the data.
NOTE: If TestDisk cannot extract the data, try selecting the [UNDELETE] option rather than the [Analyze] option.
b4-ftl-extract
- Download the b4-ftl-extract scripts from Github
- Place scripts in the same folder as nand.bin
- EITHER drag nand.bin into b4b4.bat or enter the following command
python extract.py -s nand.bin output_dir
This code will unscramble the FTL and place all data into a folder called output_dir
After this, you must use TestDisk to acquire the data.
NOTE: If TestDisk says that the partition(s) can't be recovered, try [UNDELETE] instead of Analyze.
XSR2
- Download assemble_xsr2.py from Github
- IF onenand is split into onenand_a and onenand_b, combine the bin files and the oob files
- Use the following command
python .\assemble_xsr2.py onenand.bin output_dir
- In the output directory, select the largest partition and use TestDisk
NOTE: If TestDisk says that the partition(s) can't be recovered, try [UNDELETE] instead of Analyze.
Gathering and Submitting Dump Info
Once you've dumped your games, it's time to generate and submit metadata to a preservation project for validating and cataloging. See the dump submission instructions for more information.