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?

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 months ago

    After closer inspection, it seems like Android isolates every app into it’s “own” file system so hard links are off the table.

    Soft links still work, though. You don’t even need root to use them (at least not on my phone, termux on Android 13 (crDroid)). Of course you have to make sure to link to the full path.

    • spookedbyroaches@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      I tried it on termux and it says “permission denied”, and I have access to write on both folders on termux

        • spookedbyroaches@lemm.eeOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          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

          `