The JFFS2 file system can be extracted with Jefferson, which runs on Python. You can install Jefferson in a pre-existing Python using pip:
sudo apt-get install python3-pip sudo pip3 install jefferson
The following command creates a folder called “jffs2_extracted” to contain the data extracted from nand.bin.
sudo jefferson -d jffs2_extracted nand.bin
Note: You may see the error
data_crc does not match!
The dump may still be working. Let it continue until the process is complete before trying other steps.
Troubleshooting
If the jffs2_extracted folder contains no data, the offset will need to be removed from the .bin file.
You can determine the offset two ways:
- Using binwalk, look for the address where the JFFS2 file system begins.
binwalk nand.bin
- Using a hex editor such as HxD, look for the following four bytes:
85 20 19 E0
Or
85 19 02 E0
Delete all data before those four bytes and try again to extract with Jefferson.
Note: It is not possible to undelete files from a JFFS2 file system.