In all of the examples that we've covered thus far, the partitions were all MMC blocks, which is typically seen in newer devices. Older devices, however, are far more likely to consist of Memory Technology Device (MTD) blocks. We have seen cases in the past where dd was unable to properly image an MTD block, although more often than not it works fine. If dd fails, there is a widely distributed utility called MTD-Utils that's used to read and write from MTD blocks; nanddump is a part of MTD-Utils, and can be used similarly to dd in order to read from an MTD block. In the cases where dd failed, nanddump was always successful.
Versions of nanddump compiled for Android can be found in many places online; we used the one found here: https://github.com/jakev/android-binaries/blob/master/nanddump.
The process to put nanddump on the...