Berkner Tech

Dumping eMMC and NAND Flash

Dumping eMMC and NAND flash from an embedded device, from identifying the chip to carving partitions

Smaller devices keep firmware in SPI flash, but anything running full embedded Linux usually uses eMMC or raw NAND, with gigabytes of storage. The extraction logic is the same as a flash dump: if the processor can read it, so can you. Here is how to pull an eMMC image and what changes versus SPI flash.

Why eMMC Changes the Picture

eMMC is an entire managed flash subsystem in one package, presenting itself as a standard MMC block device. That is good news for extraction: you do not need a special flash protocol, just a way to talk MMC. The image is larger and the package is usually BGA, but the principle is unchanged.

Step 1: Reach the Device

The cleanest read is in-system, wiring to the eMMC test points so Linux on a reader enumerates it. Confirm it appears as a block device:

dmesg | grep mmc0
Example output
mmc0: new HS200 MMC card at address 0001
mmcblk0: mmc0:0001 Q2J55L 14.7 GiB
mmcblk0: p1 p2 p3 p4

Step 2: Read and Verify

With the device visible, dump it block by block, then read again and compare hashes so a flaky connection does not give you a corrupt image:

Anatomy of an eMMC read command using dd to copy the block device to an image file
dd if=/dev/mmcblk0 of=emmc.bin bs=4M
sha256sum emmc.bin
Example output
3760+0 records in
3760+0 records out
15762194432 bytes (16 GB) copied, 642 s, 24.5 MB/s

b91d... emmc.bin

Three Ways to Read eMMC

Depending on how accessible the chip is:

Three ways to read eMMC flash: in-system programming, chip-off, and SoC boot mode

After the Dump

From here it is the same firmware analysis as any other image: identify the partitions, mount or carve the filesystems, and hunt for secrets and weak services. The defense is also the same: encrypt data at rest and keep keys in a secure element, so a full eMMC dump yields ciphertext rather than secrets.

Where This Fits

eMMC and NAND extraction is the entry point to a product security assessment on Linux-class devices. That work is the kind of work we do at Berkner Tech.


References and Further Reading