How to pull data from internal memory on an unrooted phone?
for Mediatek devices do following:  

if your device is encrypted  


get a temp root shell with mtk-su
dump your decrypted userdata partition /dev/block/dm-0
(this will take ~25 GB/h)

sudo apt-get install android-tools-adb extundelete testdisk
adb push mtk-su /data/local/tmp/
adb shell chmod 0755 /data/local/tmp/mtk-su
adb shell /data/local/tmp/mtk-su -c "cat /dev/block/dm-0 2&gt; /dev/null" &gt; userdata.img



if your device is not encrypted   


switch off device, remove battery (if possible)  
install VCOM preloader drivers (Windows)  
find a scatter file for your ROM  
download SP Flash Tool (Windows)  
do a read back of userdata partition (SP Flash Tool)  


once you have a ext4 disk image of userdata:


open userdata.img with testdisk (linux)  
copy deleted files, or
scan the whole userdata.img with extundelete (linux)  

testdisk userdata.img



  [Proceed ]
  [None   ] Non partitioned media
  [ Advanced ] Filesystem Utils
  (press Enter 3x times)
  [  List  ] List and copy files
  (deleted files are colored red)
  a to select all files
  Shift + C to copy the selected files
  (select destination folder)
  C when the destination is correct  


  

extundelete userdata.img --restore-all



  (check folder ~/RECOVERED_FILES/media/0/)