Hi guys: refering to this: Restore Whatsapp

Get the same issue.

I just reset all my phone after an OTA bricked.

I made an nandroid backup, but, i dunno how to acces - on my phone - the "data/data/com.whatsapp" file to read owner and group. I think for the nandroid its going to be ok.


  • Hint: Linux Shell: Use the Tab key to autocomplete long names of directories and files while in the command line (you can also use * as wildcard)
    – alecxs
    Nov 8 '20 at 9:50

install WhatsApp, then boot in TWRP and look from adb shell

  • show the folder attributes with the ls command

    ls -dln /data/data/com.whatsapp

example output:

mint@debian ~ $ adb shell
/ # ls -dln /data/data/com.whatsapp
drwx------   13 10104    10104         4096 Jan 15 04:15 /data/data/com.whatsapp  

next, restore the backup (or part of it)

  • download open-gapps-pico.zip for your platform (ARM) to PC

  • extract the tar binary (tar-arm for ARM) and push it to phone (in TWRP)

    adb push C:\adb\tar-arm /tmp/
  • open adb shell and make the binary executable (TWRP)

    chmod 0750 /tmp/tar-arm

example output:

mint@debian ~/Downloads $ adb push tar-arm /tmp/
387 KB/s (427448 bytes in 1.075s)
mint@debian ~/Downloads $ adb shell
/ # chmod 0750 /tmp/tar-arm 
  • in TWRP look for the location where your (internal/external) sdcard is mounted


example output:

/ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                  1010636        44   1010592   0% /dev
tmpfs                  1010636        28   1010608   0% /tmp
/dev/block/mmcblk0p19   253920      2380    246300   1% /cache
/dev/block/mmcblk0p20 11608792   9847780   1728244  85% /data
/dev/block/mmcblk0p20 11608792   9847780   1728244  85% /sdcard
/dev/block/mmcblk1p1  31150720  22588512   8562208  73% /external_sd
  • find the backup folder with the ls and cd commands

example output for cd change directory:

/ # cd /external_sd
/external_sd # cd TWRP

example output for ls list files and folders:


enter the latest backup folder (you can also use * as wildcard)

/external_sd/TWRP/BACKUPS/CUBOT_KING_KONG # cd 2019-06-26*

list ls the backup file names inside. the interesting is the data.ext4.win* backup

/external_sd/TWRP/BACKUPS/CUBOT_KING_KONG/2019-06-26--08-30-17_du_s3ve3g-userdebug_712_NZH54D_engroot20180 # ls
boot.emmc.win          data.ext4.win002       recovery.emmc.win.md5
boot.emmc.win.md5      data.ext4.win002.md5   recovery.log
data.ext4.win000       data.ext4.win003       system.ext4.win
data.ext4.win000.md5   data.ext4.win003.md5   system.ext4.win.md5
data.ext4.win001       data.info              system.info
data.ext4.win001.md5   recovery.emmc.win
  • Before unpacking, find the required file name(s) which contains your whatsapp files. use the tar-arm binary with parameters -t (test) and look into each file -f data.ext4.win*, while the error output is filtered out with 2> /dev/null and the the file list is filtered for folder name /data/data/com.whatsapp with the grep command

    /tmp/tar-arm -tf data.ext4.win000 2> /dev/null | grep /data/data/com.whatsapp

example output: (no result for data.ext4.win000 data.ext4.win001 data.ext4.win002)

/external_sd/TWRP/BACKUPS/CUBOT_KING_KONG/2019-06-26--08-30-17_du_s3ve3g-userdebug_712_NZH54D_engroot20180 # /tmp/tar-arm -tf data.ext4.win000 2> /dev/null | grep /data/data/com.whatsapp
/external_sd/TWRP/BACKUPS/CUBOT_KING_KONG/2019-06-26--08-30-17_du_s3ve3g-userdebug_712_NZH54D_engroot20180 # /tmp/tar-arm -tf data.ext4.win001 2> /dev/null | grep /data/data/com.whatsapp
/external_sd/TWRP/BACKUPS/CUBOT_KING_KONG/2019-06-26--08-30-17_du_s3ve3g-userdebug_712_NZH54D_engroot20180 # /tmp/tar-arm -tf data.ext4.win002 2> /dev/null | grep /data/data/com.whatsapp
/external_sd/TWRP/BACKUPS/CUBOT_KING_KONG/2019-06-26--08-30-17_du_s3ve3g-userdebug_712_NZH54D_engroot20180 # /tmp/tar-arm -tf data.ext4.win003 2> /dev/null | grep /data/data/com.whatsapp
  • now you can extract the folder /data/data/com.whatsapp (as last argument) from the file(s) -f data.ext4.win003 with the tar-arm binary with -x and additional parameters --selinux --xattrs -p for file attributes, while -P will keep the leading / which will restore everything to /data and -v make the whole thing more visible for you. handle each data.ext4.win* file for its own:

    /tmp/tar-arm --selinux --xattrs -vxpPf data.ext4.win003 /data/data/com.whatsapp

example output:

/external_sd/TWRP/BACKUPS/CUBOT_KING_KONG/2019-06-26--08-30-17_du_s3ve3g-userdebug_712_NZH54D_engroot20180 # /tmp/tar-arm --selinux --xattrs -vxpPf data.ext4.win003 /data/data/com.whatsapp

finally, change the owner and group

/ # chown -Rh 10104.10104 /data/data/com.whatsapp
  • Hum... So, as a Windows user: - reinstall Whatsapp - reboot on TWRP - on computer, go in my ADB Folder, open a CMD, and go for a -> adb shell - check with -> ls -dln /data/data/com.whatsapp - take a note on group number and owner number Next: how to restore my data/data/com.whatsapp ? Then: - go back on my ADB shell, and change group and owner - reboot phone Am i right ?
    – Mangaku
    Jun 27 '19 at 8:59
  • so your question is, how to extract a single app from nandroid backup - i will update my answer in a few hours
    – alecxs
    Jun 27 '19 at 12:25
  • hi @alecxs and thx for your help. That's huge. Unfortunately, after the chown -Rh 10238.10238 /data/data/com.whatsapp, i reboot to android, and when i try to launch WhatsApp, i have a really quick message (have to take a video screen and look at it slowly): WhatsApp immediately stopped. Any idea ?
    – Mangaku
    Jun 28 '19 at 11:50
  • maybe the secontext must also changed, or folder permissions. try chmod 0775 /data/data/com.whatsapp or chcon -Rh u:object_r:app_data_file:s0 /data/data/com.whatsapp
    – alecxs
    Jun 28 '19 at 13:27
  • My GOD: LOVE YOU SO HARD BRO !!! Works perfectly with a 0775 <3<3
    – Mangaku
    Jun 28 '19 at 13:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.