The file command just returns 'data'.
The jpgrecovery command simply does not process this files.
If I open the file in a file viewer (shotwell), I get the error that the file starts with 0 0, which is correct, as seen in the above hexdump.
All this commands were executed on Debian 12.
I have hundreds of files with this JPG extension and for each file the header isstarting with 0 0 in this folder, so I assume the problem is not corruption of one file.
So the header for a JPEG should start with FF D8 and end in FF D9
So maybe check if the files at least end correctly, if they do you could try adding the magic bytes back.
I'd secondly try opening the file in as many applications as possible, one might be a bit more lenient/smarter in pulling the image out of a not-quite-right file.
Finally you suggest they're all the same header, is everything else on the drive fine? Is there a chance some cryptolocker malware has had a chance to run over the drive? I'm suggesting as the files could have been encrypted in some way and this is what's preventing you from reading them
Edit: worth noting I used an S2 years ago and had no problems getting the images off back then
Thanks for your suggestions: Can confirm start/end bytes are wrong. Tried to open in Shotwell, GIMP, Firefox, Google Chrome w/o results.
I assume the hard drive is ok: I also have some git repositories on the drive and the checksums for git are correct. Every other file on the drive is ok, so cryptolocker malware could have only been on my phone at that time.
That's unfortunate to hear, I'm afraid that's me out of ideas then really. Very strange that they're all corrupted in the same way, I'll let you know if any other ideas pop into my head as to how this could have happened.