Old versions of the EFS backup instructions used the following command:
adb shell "cat /dev/block/platform/*/by-name/EFS > /EFS.img"
At some point or under some condition, this stopped working and the backup were corrupted.
adb shell "cat /dev/block/platform/*/by-name/EFS /dev/block/platform/*/by-name/EFS" > /EFS.img" EFS.img adb pull /EFS.img ./
Doing in in two stage like that seem to be widely used in other instructions (like the ones found in XDA forums).
Normally cat should produce a valid backup, however it might be better to use dd for extra safety.
On Replicant 6.0 0004, the recoveries for the following devices have 'dd':The following should also work:
adb pull /dev/block/mmcblk0p3 ./EFS.img