This is an old revision of the document!
Docomo Phones by Fujitsu
Check the dumping hardware overview for a list of known preservation hardware.
If you need help, please come chat with us on the Keitai World (previously Keitai Wiki) discord server.
Introduction
mova (downloadable appli)
| Phone Model | Extractable? | File System/FTL | Tools |
|---|---|---|---|
| F503i | – | – | – |
| F503iS | – | – | – |
| F504i | – | – | – |
| F504iS | – | – | various_keitai_assemble (SoFFS) |
| F505i | – | – | – |
| F505iGPS | – | – | – |
| F506i | – | – | – |
Early FOMA
| Phone Model | Extractable? | File System/FTL | Tools |
|---|---|---|---|
| F2051 | Java only | Unknown | Keitai Tools |
| F2102V | Java only | Unknown | Keitai Tools |
900i/700i Series
| Phone Model | Extractable? | File System/FTL | Tools |
|---|---|---|---|
| F900i | Java only | Unknown | Keitai Tools |
| F900iT | Java only | Unknown | Keitai Tools |
| F900iC | Java only | Unknown | Keitai Tools |
| F700i | Java only | Unknown | Keitai Tools |
| F700iS | Java only | Unknown | Keitai Tools |
| F901iC | Java only | Unknown | Keitai Tools |
| F901iS | Java only | Unknown | Keitai Tools |
| F801i | Yes | Samsung RFS + XSR2 | various_keitai_assemble (XSR2) Part 8 + TestDisk/TSK-FAT-AutoRecover |
| F902i | Java only | Unknown | Keitai Tools |
| F902iS | Java only | Unknown | Keitai Tools |
| F702iD | Java only | Unknown | Keitai Tools |
| F903i | Java only | Unknown | Keitai Tools |
| F903iX HIGH SPEED | Java only | Unknown | Keitai Tools |
| F703i | Yes | FAT16 + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk/TSK-FAT-AutoRecover |
| F904i | Yes | FAT16 + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk/TSK-FAT-AutoRecover |
| F704i | Yes | FAT16 + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk/TSK-FAT-AutoRecover |
| F905i | Yes | FAT32 + “B4B4” FTL | b4-ftl-extract + TestDisk (Undelete) OR assemble_sh704i_d904i + TestDisk/TSK-FAT-AutoRecover depending on the device |
| F905iTW | Yes | “B4B4” FTL | b4-ftl-extract + TestDisk/TSK-FAT-AutoRecover |
| F705i | Yes | Samsung RFS + XSR2 | various_keitai_assemble (XSR2) Part 8 + TestDisk/TSK-FAT-AutoRecover |
| F906i | Yes | Samsung RFS + XSR2 | various_keitai_assemble (XSR2) + TestDisk/TSK-FAT-AutoRecover |
| F706i | Yes | Samsung RFS + XSR2 | various_keitai_assemble (XSR2) Part 8 + TestDisk/TSK-FAT-AutoRecover |
Raku Raku Series (880i)
| Phone Model | Extractable? | File System/FTL | Tools |
|---|---|---|---|
| F880iES | Not yet | Unknown | Unknown |
| F881iES | Not yet | Unknown | Unknown |
| F882iES | Not yet | Unknown | Unknown |
| F883i | Not yet | Unknown | Unknown |
| F883iS | Java Only | Unknown | Keitai Tools for Java dump |
| F883iES | Java Only | Unknown | Keitai Tools for Java dump |
| F883iESS | Yes | FAT32 + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk/TSK-FAT-AutoRecover |
| F884i | Yes | FAT32 + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk/TSK-FAT-AutoRecover |
| F884iES | Yes | Samsung RFS + XSR2 | various_keitai_assemble (XSR2) + TestDisk/TSK-FAT-AutoRecover |
Late FOMA Series
| Phone Model | Extractable? | File System/FTL | Tools |
|---|---|---|---|
| F-01A | Yes | Samsung RFS + EPOC32 ROM + XSR3 | various_keitai_assemble (XSR3) + TestDisk/TSK-FAT-AutoRecover |
| F-02A | Yes | Samsung RFS + EPOC32 ROM + XSR3 | various_keitai_assemble (XSR3) + TestDisk/TSK-FAT-AutoRecover |
| F-03A | Yes | Samsung RFS + EPOC32 ROM + XSR3 | various_keitai_assemble (XSR3) + TestDisk |
| F-04A | Yes | FAT32 + EPOC32 ROM | TestDisk/TSK-FAT-AutoRecover |
| F-05A | Yes | Samsung RFS + XSR2 | various_keitai_assemble (XSR2) Part 8 + TestDisk/TSK-FAT-AutoRecover |
| F-06A | Yes | Samsung RFS + XSR2 | various_keitai_assemble (XSR2) Part 8 + TestDisk/TSK-FAT-AutoRecover |
| F-07A | Java only | Unknown | Keitai Tools for Java dump Other tools in progress |
| F-08A | Yes | Samsung RFS + EPOC32 ROM + XSR3 | various_keitai_assemble (XSR3) + TestDisk/TSK-FAT-AutoRecover |
| F-09A | Yes | FAT32 + EPOC32 ROM | TestDisk/TSK-FAT-AutoRecover |
| F-10A | Java only | Unknown | Keitai Tools for Java dump Other tools in progress |
| F-01B | Yes | FAT32 + EPOC32 ROM | TestDisk/TSK-FAT-AutoRecover |
| F-02B | Yes | Samsung RFS + FSR_F | fs-tools (FSR_F) |
| F-03B | Yes | Samsung RFS + FSR_F | fs-tools (FSR_F) |
| F-04B | Yes | Samsung RFS + EPOC32 ROM + FSR_F | fs-tools (FSR_F) |
| F-06B | Yes | Samsung RFS + FSR_F | FTL version not yet supported |
| F-07B | Yes | Samsung RFS + FSR_F | fs-tools (FSR_F) |
| F-08B | Unknown | Unknown | Unknown |
| F-09B | Yes | FAT32 | Test Disk |
| F-10B | Unknown | Unknown | Unknown |
| F-01C | Yes | Samsung RFS + FSR_F | FTL version not yet supported |
| F-02C | Yes | FAT32 | TestDisk/TSK-FAT-AutoRecover |
| F-03C | Yes | FAT32 | TestDisk/TSK-FAT-AutoRecover |
| F-04C | Yes | Samsung RFS + FSR_F | fs-tools (FSR_F) |
| F-05C | Yes | Samsung RFS + FSR_F | fs-tools (FSR_F) |
| F-08C | Yes | Samsung RFS + FSR_F | fs-tools (FSR_F) |
| F-09C | Yes | Samsung RFS + FSR_F | FTL version not yet supported |
| F-10C | Unknown | Unknown | Unknown |
| F-11C | Yes | Samsung RFS + FSR_F | fs-tools (FSR_F) |
| F-02D | Not yet | Unknown | Unknown |
| F-04D | Not yet | Unknown | Unknown |
| F-06D | Not yet | Unknown | Unknown |
| F-01E | Not yet | Unknown | Unknown |
Methods
Extracting Data
Reading File Systems
Reading FAT Images
File Processing
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
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.
fs-tools (FSR_F)
NOTE: This extraction method may not work on WSL. If you are having errors after trying all steps, try switching from WSL to a full Linux installation.
- Download the FSR_F tools from fs-tools on Github
- In the FSR_F folder, run the following command
pip3 install unicorn
- Place onenand.bin and onenand.oob into the FSR_F folder and run the following commands
python3 emu.py 14 part_14.bin python3 emu.py 15 part_15.bin python3 emu.py 19 part_19.bin python3 emu.py 1A part_1A.bin
After this, you must use TestDisk to acquire the data.
various_keitai_assemble (SoFFS)
- Download assemble_soffs.py from various-keitai-assemble
- If needed, use Keitai Script's byteswap_2.py script to byteswap the dump
- Input the following command
python assemble_soffs.py <byteswapped dump>.bin output_dir
- From here, files must be carved out by hand.
various_keitai_assemble (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.