You may have to install replicant again at the end of this procedure.

You should be in a directory containing these files:

* The script fix-permissions.sh
* The files from your EFS partition's backup in in a directory named efs/.
* A list like the one found on this Page named file-list.txt in our commands:
https://redmine.replicant.us/projects/replicant/wiki/GT-I9300EFSContent

Note that lists printed by some ls programs that use a different format for
the date, are not properly parsed by fix-permissions.sh and it will not
change the permissions then.

Do this connected to the Recovery:

adb shell 'mkdir /efs' 
adb shell 'mkfs.ext4 /dev/block/platform/*/by-name/EFS'
adb shell 'mount /dev/block/platform/*/by-name/EFS /efs'
tar -cf efs.tar efs
adb push efs.tar /efs
adb push fix-permissions.sh /efs
adb push file-list.txt /efs
adb shell 'cd /efs && tar -xf efs.tar'
adb shell 'chmod a+x /efs/fix-permissions.sh'
adb shell 'cd /efs && ./fix-permissions.sh file-list.txt'

If a file that is not found just has a slightly different name
in your backup, try changing the mode bits, owner and group "by hand":

00002.PRV not found.
The line was:
-rw-rw-rw-    1 root     root             3 Jan 28  2014 00002.PRV

$ adb shell "find /efs -name '*PRV'"
/efs/efs/drm/playready/00003.PRV

$adb shell 'chmod u=rw,g=rw,o=rw /efs/efs/drm/playready/00003.PRV'
$adb shell 'chown root /efs/efs/drm/playready/00003.PRV'
$adb shell 'chgrp root /efs/efs/drm/playready/00003.PRV'

Continue:

adb shell 'mv /efs/efs/* /efs'
adb shell 'cd /efs && rm -R efs efs.tar file-list.txt fix-permissions.sh'
adb shell 'umount /efs'
adb shell 'rm -R /efs'
adb shell 'cat /dev/block/platform/*/by-name/EFS > /EFS.img'
mv EFS.img EFS.backup.img
adb pull /EFS.img .

If the phone only boots into the Recovery anymore, install 
Replicant again via the Recovery's Update Button, but you need not
wipe stuff, in contrast to the usual installation procedure.
