This page is a work in process.
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.
Sharp Docomo phones generally run on a customized version of Symbian. These phones will not light up when plugged into a debug adapter.
Many of these phones keep their DoJa games in a unique file format made up of a .apl and a .scp. To extract files in this format, use Keitai Tools.
Notes on specific phone models:
sudo ./ktdumper.sh sh-05a.v2 dump_nand
| Phone Model | Extractable? | File System/FTL | Tools |
|---|---|---|---|
| SH505i | Chip-off only | Unknown | assemble_f0 + TestDisk |
| SH505iS | Chip-off only | Unknown | – |
| SH506iC | Chip-off only | Unknown | assemble_f0 + TestDisk |
| Phone Model | Extractable? | File System/FTL | Tools |
|---|---|---|---|
| SH2101V | Unknown | Unknown | Unknown |
NOTE: For USB dumpable phones before the SH903iTV, you must use either a regular foma usb cable or a debug usb cable with the power turned off, and the phone must be powered on with battery or an external power supply.
| Phone Model | Extractable? | File System/FTL | Tools |
|---|---|---|---|
| SH900i | Chip-off only | SH900i FTL | assemble_sh900i + TestDisk |
| SH700i | Chip-off only | Unknown | Unknown |
| SH700iS | Chip-off only | Unknown | assemble_f0 + TestDisk |
| SH901iC | Chip-off only | Unknown | assemble_f0 + TestDisk |
| SH901iS | Chip-off only | Unknown | assemble_f0 + TestDisk |
| SH851i | Chip-off only | Unknown | assemble_f0 + TestDisk |
| SH902i | Chip-off only | Unknown | assemble_sh902i Extract games with Keitai Tools |
| SH902iS | Yes | NAND: FAT NOR: EPOC32 Rom | TestDisk for FAT Symbian SDK for EPOC32 ROM |
| SH902iSL | Chip-off only [ktdumper untested] | NAND: FAT NOR: EPOC32 Rom | TestDisk for FAT Symbian SDK for EPOC32 ROM |
| SH702iD | Chip-off only | Unknown | assemble_sh902i Extract games with Keitai Tools |
| SH702iS | Yes | NAND: FAT NOR: EPOC32 Rom | TestDisk for FAT Symbian SDK for EPOC32 ROM |
| SH903i | Chip-off only | FAT16 + ROFS + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk Extract games with Keitai Tools |
| SH903iTV | Yes | FAT16 + ROFS + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk Extract games with Keitai Tools |
| SH703i | Yes | FAT16 + ROFS + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk Extract games with Keitai Tools |
| SH904i | Yes | FAT16 + ROFS + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk Extract games with Keitai Tools |
| SH704i | Yes | FAT16 + ROFS + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk Extract games with Keitai Tools |
| SH905i | Yes | FAT16 + ROFS + “B4B4” FTL | b4-ftl-extract + TestDisk |
| SH905iTV | Yes | FAT16 + ROFS + “B4B4” FTL | b4-ftl-extract + TestDisk |
| SH705i | Yes | FAT16 + ROFS + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk Extract games with Keitai Tools |
| SH705iII | Yes | FAT16 + ROFS + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk Extract games with Keitai Tools |
| SH906i | Yes | FAT32 + ROFS + Fugue NAND | fugue-tools + TestDisk |
| SH906iTV | Yes | FAT32 + ROFS + Fugue NAND | fugue-tools + TestDisk |
| SH706i | Yes | FAT32 + ROFS + Fugue NAND | fugue-tools + TestDisk |
| SH706ie | Yes | FAT16 + ROFS + “SH/D904i” FTL | assemble_sh704i_d904i + TestDisk Extract games with Keitai Tools |
| SH706iw | Yes | FAT32 + ROFS + Fugue NAND | fugue-tools + TestDisk |
| Phone Model | Extractable? | File System/FTL | Tools | |
|---|---|---|---|---|
| SH-01A | Yes | FAT32 + ROFS + EPOC32 ROM + Fugue NAND (A+B) | fugue-tools + TestDisk Extract games with Keitai Tools | |
| SH-02A | Yes | FAT32 + ROFS + Fugue NAND | fugue-tools + TestDisk Extract games with Keitai Tools | |
| SH-03A | Yes | FAT32 + ROFS + EPOC32 ROM + Fugue NAND (A+B) | fugue-tools + TestDisk Extract games with Keitai Tools | |
| SH-04A | Yes | FAT32 + ROFS + EPOC32 ROM + Fugue NAND (A+B) | fugue-tools + TestDisk Extract games with Keitai Tools | |
| SH-05A | Yes (see note in Introduction) | FAT16 + ROFS + “B4B4” FTL | b4-ftl-extract + TestDisk Extract games with Keitai Tools | |
| SH-06A | Yes (see note in Introduction) | FAT16 + ROFS + “B4B4” FTL | b4-ftl-extract + TestDisk Extract games with Keitai Tools | |
| SH-06A NERV | Yes | FAT16 + ROFS + “B4B4” FTL | b4-ftl-extract + TestDisk Extract games with Keitai Tools | |
| SH-07A | Yes | FAT16 + ROFS + “B4B4” FTL | b4-ftl-extract + TestDisk Extract games with Keitai Tools | |
| SH-08A | Yes | FAT16 + ROFS + “B4B4” FTL | b4-ftl-extract + TestDisk Extract games with Keitai Tools | |
| SH-01B | Yes | FAT16 | TestDisk for FAT (MDA) Extract games with Keitai Tools | |
| SH-02B | Yes | FAT16 | TestDisk for FAT (MDA) Extract games with Keitai Tools | |
| SH-03B | Yes | FAT16 | TestDisk for FAT (MDA) Extract games with Keitai Tools | |
| SH-04B | (Likely) Yes | Unknown | (Likely) TestDisk for FAT (MDA) | |
| SH-05B | Yes | FAT + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-06B | Yes | FAT16 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-07B | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-08B | Yes | FAT16 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-09B | Yes | FAT16 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-01C | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-02C | Yes | FAT + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-04C | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-05C | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-06C | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-08C | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-09C | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-10C | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-11C | Yes | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-03D | Chip-off Only | (Likely) FAT32 + EPOC32 ROM | (Likely) TestDisk for FAT (MDA) (Likely) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-03E | Chip-off Only | FAT32 + EPOC32 ROM | TestDisk for FAT (MDA) Symbian SDK for EPOC32 ROM (MDA) | |
| SH-07F | Chip-off Only | (Likely) FAT32 + EPOC32 ROM | (Likely) TestDisk for FAT (MDA) (Likely) Symbian SDK for EPOC32 ROM (MDA) |
Extracting Data
Reading File Systems
File Processing
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.
sudo ./ktdumper.sh [insert phone model] dump_nand
sudo ./ktdumper.sh [insert phone model] dump_nor
sudo ./ktdumper.sh [insert phone model] dump_java
Sample For D904i
sudo ./ktdumper.sh d904i dump_nand
First, you must download the Various Keitai Assemble GitHub repository. We will be using the assemble_f0.py script as well as the tools in the utils folder.
The nor for this dump comes in two parts that need to be concatenated.
Examples:
Windows Command Line
copy /b SH700iS_LRS13B7-f1.bin + SH700iS_LRS13B7-f2.bin SH700iS_LRS13B7-f1f2.bin
Copy the concatenated file into the various-keitai-assemble project. The following steps will be different depending on what device you are trying to extract. The end result of all options will be an output directory with many .bin files. Look for the largest one and use TestDisk to acquire the data. You may need to use UNDELETE.
Note: If the following settings do not work, make sure to do a byteswap.
Known chunk IDs per model:
J-SH07: 5504 J-SH08: 5504 J-SH010: 6355
The following phones work with default settings
The following phones require the argument -n 9
The following phones work with default settings
The following phones require the argument -u -b 9
Example:
python assemble_f0.py -u -b 9 SH700iS_LRS13B7-f1f2.bin SH700iS_LRS13B7-f1f2_out
Before using assemble_sh704i_d904i.py, you must separate the NAND and OOB (out of bounds) data.
python separate_nand_oob.py nand_mixed.bin
0: Data = 512 Bytes, OOB = 16 bytes, divisible = True
To remove the FTL:
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.
python assemble_sh900i.py <input file> <output file>
After this, you must use TestDisk to acquire the data.
First, you must download the Various Keitai Assemble GitHub repository. We will be using the assemble_sh902i.py script as well as the tools in the utils folder.
Concatenate all pieces of the file.
Examples:
Windows Command Line
copy /b SH700iS_LRS13B7-f1.bin + SH700iS_LRS13B7-f2.bin SH700iS_LRS13B7-f1f2.bin
Copy the concatenated file into the various-keitai-assemble project. Then use the following command:
python assemble_sh902i.py <concatenated_dump>.bin output_dir
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.
Fugue Nand Regular
python extract.py nand.bin output.bin
The file system can now be read and extracted with TestDisk.
Fugue Nand A+B
python extract.py nand_a.bin nand_b.bin output.bin
The file system can now be read and extracted with TestDisk.
EPOC32 is a mobile operating system. It is a predecessor to Symbian, and its data can be extracted using tools from the Symbian 3 SDK.
C:\Nokia\devices\Nokia_Symbian3_SDK_v1.0\epoc32\tools\readimage.exe
Put the dump into the same folder as readimage.exe
.\readimage.exe <file name> -z <output folder name>
This script will create an output folder and place all files inside of it.
Example
.\readimage.exe dump_nor.bin -z output_dir
NOTE: For Sony Ericsson phone NOR dumps, you may need to cut out the data before 0x100000
TestDisk can be used on either Windows or Linux. It is available for download here. Once you have downloaded TestDisk, use the program to open your current .bin file.
>Disk <your file>
Press enter to proceed.
[None ] Non partitioned media
[ quit ]
[ Analyse ]
[Quick Search]
You should now have all the extracted files.
Note: For select devices (such as F905i and D905i), you need to select None → Undelete rather than the usual TestDisk procedure.
Keitai Tools is a python tool for extracting valid DoJa files from a variety of phone file systems.
python kttools.py top_folder_directory
Example: For F-03B, the top folder directory is “Java”
python kttools.py Java
SPECIAL INSTRUCTIONS FOR EARLY FUJITSU PHONES
Early Fujitsu phones often lack .jam files. These files need to be recreated by Keitai Tools. To recreate the .jam files, you will need to set up the environment with the following commands
For Windows:
python -m venv venv venv\Scripts\activate.bat pip install construct scsu
For Linux:
python3 -m venv venv source venv/bin/activate pip install construct scsu
After setting up the environment, you can proceed with Step 3 above.