How To Dump, Parse, And Analyze i.MX Flash Memory Chips
summary
Shows how to recover filesystems from i.MX6 NAND dumps by parsing the vendor’s custom layout, locating the FCB structure, removing metadata and ECC bits, then using the released imx-non-tools to reconstruct pages and apply BCH correction. Demonstrates a real 1.1 GB dump that initially failed with binwalk, explains the GPMI bit-shuffling and bad-block handling, and converts dumps into usable images — the Python tools process ~1 GB in about ten minutes and successfully extract UBI/squashfs content.
AI-written summary · about
chapters (19)
- 0:00Introduction and background
- 1:05Flash extraction process overview
- 3:13Why analyze embedded device memory
- 4:17Physical extraction methods
- 6:07Using flash programmers
- 8:59NAND flash data layout
- 13:01Extracting firmware from dump
- 14:03Introducing i.MX6 platform
- 17:36i.MX flash storage mechanism
- 22:34FCB structure in i.MX
- 26:13ECC and BCH error correction
- 28:25Recovering data from i.MX flash
- 30:59Introducing i.MX NAND tools
- 33:10Processing firmware with tools
- 34:56Extracting UBI volumes and files
- 36:22Documentation and open source
- 39:53Encryption and security features
- 41:40Conclusion and future work
- 44:11Q&A session
related talks
45mReverse Engineering Flash Memory for Fun and Benefit
53mIntel ME: Flash File System Explained
55mVerified Boot: From ROM to Userspace
40mInspecting and Optimizing Memory Usage in Linux
38mEfficient On-Device Core Dump Processing for IoT: A Rusty Implementation
33mBreaking Into Chips By Reading The Datasheet
45mBits From The Matrix: Optical ROM Extraction
36mFrom Raw To Refined: The Evolution of Raw Flash Support in Linux
