Motivation
So this is probably a strange request but I really want to do this. For some reason, when I restored the WhatsApp chats most of the photos there got to the private directory where it doesn’t show on my android gallery. I don’t know what happened but there is no official solution to get the photos back. So I thought why not do it myself.
What I already did
I rooted m phone (temporarily) to get access to the msgstore.db file so that I can change the paths of the media. I can do that easily with a sqlite query.
What I couldn’t do
When I try to modify the actual database, it says that I cannot do it since the file got corrupted. I think there might be a checksum or something somewhere but I can’t seem to find any information about it. Does anyone know how I can do this without tripping the integrity checker?
If the photos go to a private directory but you are now rooted you should be able to directly access that directory and copy the files out. This is assuming that they are stored as regular files in that directory instead of being solely in the sqlite db. Does that work?
I can but then the photos are gonna be duplicates which would take up a lot of space
[This comment has been deleted by an automated system]
That would have been a genius idea actually it would solve all of my problems. However, it seems like Android doesn’t allow hard or soft links through SELinux. I tried doing it in termux in root mode but it told me “Function not implemented.”
[This comment has been deleted by an automated system]
I tried it on termux and it says “permission denied”, and I have access to write on both folders on termux
[This comment has been deleted by an automated system]
I think it’s Android itself. I can only do symlinks in the /data partition not /storage/emulated according to this. And I tried it and it seems to be true.
` ~ $ pwd
/data/data/com.termux/files/home
~ $ touch ok
~ $ ln ok ok.ok
ln: failed to create hard link ‘ok.ok’ => ‘ok’: Permission denied
~ $ ln ok -s ok.ok
~ $ ls
ok ok.ok
~ $ cd /storage/emulated/0
…/emulated/0 $ touch ok
…/emulated/0 $ ln ok -s ok.ok
ln: failed to create symbolic link ‘ok.ok’: Permission denied
`