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?

  • stifle867@programming.dev
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    1 year ago

    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?

        • spookedbyroaches@lemm.eeOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          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.”

            • spookedbyroaches@lemm.eeOP
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 year 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
                  ·
                  1 year 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

                  `