[GUIDE] Internal Memory Data Recovery - Yes We Can!

Search This thread

HelpNeeded1

Member
Feb 20, 2015
5
0
Wow, thanks to the quick answer! I already gave the permission as seen in the next lines... Problem was just the step with making the raw. Now I know more, thanks a lot!! :) :good:

---------- Post added at 12:40 PM ---------- Previous post was at 12:36 PM ----------

Probably you didn't move nc.exe (from netcat) to your bin folder of cygwyn
I did that, it's there with 42 KB... :)
 

HelpNeeded1

Member
Feb 20, 2015
5
0
last picture is you need something like this except you need to find the correct msm_sdcc.1 folder for your phone

ls -al /dev/block/platform/msm_sdcc.1/by-name

with a root editor (es file explorer) go to your data folder then dev then block then platform look in each folder to see which one has the by-name that folder will be your correct folder Mine is msm_sdcc.1

sry, but which lines do I then have to write? and how/where all do I use the folder msm_sdcc.1?
(attached two pics of my current status)....and REALLY thanks for your help!
 

Attachments

  • 20150221-01.jpg
    20150221-01.jpg
    26.4 KB · Views: 130
  • 20150221-02.jpg
    20150221-02.jpg
    135.2 KB · Views: 131

Fox_Mulder1987

New member
Feb 23, 2015
1
0
Hi guys,

first and foremost thanks for this great thread for us (almost) hopeless! The data on my Nexus 4 became victim to a bootloader unlock for root. Now after discovering the thread I spent most of the sunday struggling to reproduce the steps in the instruction and FINALLY got a mmcblk0.raw with a healthy size of 14,68 GB, which I converted with VHDtool and renamed with a .vhd ending. I added it as a virtual HD in diskmgmt.msc. Now comes the problem:
It doesn't let me initialize the disk and/or create a simple volume. It's all grayed out. What's the matter? :(
 

Attachments

  • Unbenannt.jpg
    Unbenannt.jpg
    253.6 KB · Views: 155

carl1961

Senior Member
Dec 5, 2010
7,521
6,201
Tickfaw
Hi guys,

first and foremost thanks for this great thread for us (almost) hopeless! The data on my Nexus 4 became victim to a bootloader unlock for root. Now after discovering the thread I spent most of the sunday struggling to reproduce the steps in the instruction and FINALLY got a mmcblk0.raw with a healthy size of 14,68 GB, which I converted with VHDtool and renamed with a .vhd ending. I added it as a virtual HD in diskmgmt.msc. Now comes the problem:
It doesn't let me initialize the disk and/or create a simple volume. It's all grayed out. What's the matter? :(

Maybe try another way to view the raw file or try another computer.


http://xdaforums.com/showthread.php?t=1818321

http://www.rodsbooks.com/gdisk/

http://www.df.lth.se/~jokke/androidfilerecovery/
 

Doofusfire

Member
Sep 29, 2009
12
1
nc fail!

Hi Guys,

Little update of my situation.
I found that the reason I was not getting any data transfer was the version of netcat (nc.exe)
I have remove the nc.exe that was linked in the original post.

The version I am using successfully is available through the Cygwin packages.
If you need to install this just run the Cygwin installer again, selecting the same settings you did originally with the exception of adding the nc package.
You can find this under the NET category - for some reason this did not come up on search for me, I had to manually find it.

This works wonderfully - I will report progress as I get further through the process.

Doof.
 
Last edited:

Wartickler

Senior Member
Nov 4, 2009
172
356
Tallahassee, FL
What version Android are you running?

Just rename the .raw to .vhd and it should work

---------- Post added at 02:46 PM ---------- Previous post was at 02:39 PM ----------

It was a lifesaver.

I might agree that sometimes there are a few more instructions that could be more helpful when one is panicking about the lost data, but if you try a bit what is given as instructions you can achieve the expected result.

I have retrieved 95% of my data (I had to install busybox) and all was good.

So I can safely say that my OnePlus can be re-used

Thank you very much Wartickler for this guide

Awesome work! What version Android was on the OPO? A couple posts mention newer versions of Android do secure wipes when a wipe is done. Trying to ascertain... :confused:
 

leoaamro

Member
Jul 18, 2011
48
0
Hi All,

I must say that after being on this forum for the past 2 days, from finding everything rocket science...i have learnt tons! Thanks a lot.

I have managed to clear almost all issues reading through the forum, however i am stuck with extracting the raw image. I'm using HTC One M7 - International Version on Windows 7, 64 bit - using cygwin 32 bit version. When i enter nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p37.raw the data transfer starts for maximum of 2 seconds with only 58 bytes copied. I have tried reinstalling net cat and cygwin to no help.
Any solutions for this?

Thansk in Advance!
 

carl1961

Senior Member
Dec 5, 2010
7,521
6,201
Tickfaw
Hi All,

I must say that after being on this forum for the past 2 days, from finding everything rocket science...i have learnt tons! Thanks a lot.

I have managed to clear almost all issues reading through the forum, however i am stuck with extracting the raw image. I'm using HTC One M7 - International Version on Windows 7, 64 bit - using cygwin 32 bit version. When i enter nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p37.raw the data transfer starts for maximum of 2 seconds with only 58 bytes copied. I have tried reinstalling net cat and cygwin to no help.
Any solutions for this?

Thansk in Advance!

do you have any errors on screen also did you verify your file path to see if it's correct

also you may try to run cygwin as administrator too (right click the shortcut on desktop and run as administrator

my block is mmcblk0p25

I verified by typing in a windows cmd window

adb shell
mount

then you will see your path as you see in picture /dev/block/platform/msm_sdcc.1/by-name/userdata /data I then know my by-name folder msm_sdcc.1

then type

ls -al /dev/block/platform/msm_sdcc.1/by-name to verify your partitions mine is userdata -> /dev/block/mmcblk0p25

then you know it should be a /dev/block/mmcblk0p25 mine is also 26 GB in size when done (about 2 hours time )


did you open up these pictures in this post? and use to verify with your screens

http://xdaforums.com/showpost.php?p=58718411&postcount=1109
 

Attachments

  • mypathnameverify.PNG
    mypathnameverify.PNG
    78.7 KB · Views: 177
  • 2mypathnameverify.PNG
    2mypathnameverify.PNG
    54.4 KB · Views: 173
Last edited:
  • Like
Reactions: KostasR

leoaamro

Member
Jul 18, 2011
48
0
Thanks for the prompt response.
No there were no errors except LC_ALL, en language error on cygwin terminal on start. I verified the path using adb shell mount and got /dev/block/mmcblk0p37 /data ex4 rw as a result.

I am reinstalling cygwin one more time from scratch and will try to run as admin again.
Last night i tried to run the cygwin 64 bit and the timer went on with 0 b/s write speed and it was only in the morning after 8 hours i realized that it didn't even initiate copying. :'(

---------- Post added at 06:35 PM ---------- Previous post was at 06:26 PM ----------

Didn't work running as admin. Just a note. I am installing cygwin in D:\ of my system and im altering the commands accordingly - "export PATH="/cygdrive/d/AB":$PATH" Hope thats not the issue?
 

carl1961

Senior Member
Dec 5, 2010
7,521
6,201
Tickfaw
Thanks for the prompt response.
No there were no errors except LC_ALL, en language error on cygwin terminal on start. I verified the path using adb shell mount and got /dev/block/mmcblk0p37 /data ex4 rw as a result.

I am reinstalling cygwin one more time from scratch and will try to run as admin again.
Last night i tried to run the cygwin 64 bit and the timer went on with 0 b/s write speed and it was only in the morning after 8 hours i realized that it didn't even initiate copying. :'(

---------- Post added at 06:35 PM ---------- Previous post was at 06:26 PM ----------

Didn't work running as admin. Just a note. I am installing cygwin in D:\ of my system and im altering the commands accordingly - "export PATH="/cygdrive/d/AB":$PATH" Hope thats not the issue?

[/COLOR]
if your reinstalling CYGWIN to D, you should be able to point the setup installer to that d:\ the you would not have to alternat any commands

also I have 64 bit system and I'm running 32 bit cygwin too, i always seem to have issues with the 64 bit version

Also make sure you have developer options and usb debugging checked in your phone settings

first cygwin cmd screen

adb forward tcp:5555 tcp:5555
adb shell
su (watch phone screen be ready to give SuperSu permission)
/system/xbin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0p37

and leave that screen alone

start another command screen

you may want cd to a clean folder like I used note3 in my home folder

adb forward tcp:5555 tcp:5555
cd /note3
nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p37.raw
 
Last edited:

leoaamro

Member
Jul 18, 2011
48
0
Hi Carl,

Isnt the C in the command line for C:\Drive, because my ADB is also in D:?
Also, i tried ls -al /dev/block/platform/msm_sdcc.1/by-name: and the outcome was permission denied?

Thanks.
 

carl1961

Senior Member
Dec 5, 2010
7,521
6,201
Tickfaw
Hi Carl,

Isnt the C in the command line for C:\Drive, because my ADB is also in D:?
Also, i tried ls -al /dev/block/platform/msm_sdcc.1/by-name: and the outcome was permission denied?

Thanks.

because you need ROOTED phone and also to enable usb debugging in setting of your phone

and watch your screen to give PC access and then watch phone screen when you type

adb shell
su you will get a prompt from superSU

all this with pictures in post I gave you
http://xdaforums.com/showpost.php?p=58718411&postcount=1109

CLICK TO SHOW CONTENT is pictures hidden so post is not so big
 
Last edited:

leoaamro

Member
Jul 18, 2011
48
0
Hi,
Phone rooted check
USB Debugging check
busybox check
SU permissions granted
after reinstalling cygwin and copying nc, not its gone back to copying 0 bytes at the nc command!
 

KostasR

Senior Member
Dec 16, 2012
168
20
Great guide OP. Any program for the recovery that keeps the filenames and maybe even the file structure?

Sent from my Optimus G using Tapatalk 4 Vip
 

sociableorg

New member
Mar 1, 2015
1
0
Contacts.db

Great guide OP and thanks a lot for the useful information. Just wanted to point out that the nc.exe referenced in the OP does not work. As someone else pointed out in the thread, the nc.exe bundled with the latest cygwin does the job fine. Took me an entire day of mucking around to figure this out.

I have mmcblk0p25.raw and mmcblk0.raw extracted now (along with the VHD header added). Recuva does not seem to find the contacts.db file in the mmcblk0p25.raw partition. Anything I missing here please? Are there better programs to 'deep scan' for .db type files?
 

pixpaw

Member
Mar 4, 2015
12
2
great guide!
i did unlock bootloader and overread that my device gets wiped :(
all i need is my whatsapp folder, im on a moto G 2014 and copied mmcblk0p38.raw but after scanning it, it will find only a bunch of about 50 files. (some .png's of screens of when my phone was booted last time, but i didnt took any screenshots)
shouldnt it find at least all files from the current installation?

for file recovery i used easy recovery, remembering this as a good recovery tool when i works as it support.
 

Albercook

Member
Mar 14, 2015
8
0
another NOOB question.

My son accidentally did a factory reset by touching buttons too fast during fast boot. I have been trying to recover his lost files. I have been learning a lot but still have some questions. I have ADB installed and get a valid response to the device command. Isn't there a way at this point to use ADB to pull an image of the phone without installing busybox? I would rather not install anything on the phone after the factory reset. If I try to install busybox through the playstore it wants me to log in as a user. Once I do that it will start downloading all the data for that user. Both of these actions will overwrite data.

Thanks for any help

NOOBDad
 

Top Liked Posts

  • There are no posts matching your filters.
  • 306
    This method does not seem to work on newer phones that apply TRIM or some other type of partition clearing implementation. If anyone has recovered their data on a device newer than Android 4.3 please pm me and let me know.

    The Preamble
    Did you delete all your SDCard data? :confused:
    Are you pissed because no one told you before you unlocked your bootloader what would happen? :eek:
    Did you lose valuable pictures of cats doing wondrously funny things? :laugh:
    Well now there's a convenient new way for you to get that data back Buckaroo! :cowboy:

    The Problem
    Internal Memory doesn't mount as a drive like external memory does. External memory would allow you to use data recovery tools that scan for deleted files and return them to a usable state. These tools work because most operating systems don't go through and set all of those 1's and 0's to just 0's when you delete a file. Usually the operating system will just delete the reference pointer in the index that says that a file exists with such-and-such name and it's located at this position on the hard disk / memory location. There are destructive delete tools out there that will overwrite the spot of a deleted file multiple times to discourage recovery in just this manner. The issue is that data recovery tools need an actual mounted drive in order to dig deep and unearth those funny pictures of cats you so tragically deleted by accident. These newest batches of phones don't have external SDcards which are super easy to mount as drives. Internal memory mounts as MTP/PTP which is not treated as a mounted drive and cannot be scanned by these data recovery tools. But, cry no more cream-puff! :crying:

    The Process
    My phone is the Samsung Galaxy Nexus (toro) though I imagine this should work for ANY phone with Internal Memory. We will be using a Windows 7 machine to:
    • back up the entire internal memory partition to your computer as a single, massive .RAW file,
    • convert the .RAW file output to a VHD,
    • mount the VHD as a disk in Disk Manager,
    • scan the attached VHD volume for files that have been deleted and recover them,
    • ?
    • profit! :good:

    The Requirements
    • A rooted Android phone, (try to root with a non-destructive method as this appears to protect those who must root from wiping the device data a second time),
    • BusyBox installed on your device,
    • Cygwin installed to [c:\cygwin] with pv and util-linux from the repo. Make sure to open Cygwin once to make sure that the /bin folder is created. Also, I made a folder at [c:\cygwin\nexus] to put the exported .RAW file,
    • Netcat (download the ZIP file and extract nc.exe to [c:\cygwin\bin]),
    • ADB (make sure adb.exe is in your path),
    • USB Debugging enabled on your device,
    • VHD tool from the mighty M$. Put the VhdTool.exe file in [c:\cygwin\nexus],
    • Piriform Recuva or your favorite data recovery tool, (it appears Recuva only finds the more common file types like images, videos, etc. Those were the file types in which I was interested. If you are after more exotic file types perhaps you might share the software you used.)
    • A calm sense of peace and serenity that you will get your files back... :fingers-crossed:

    The Work
    1. *****Based on the number of people having trouble with this step it is now my recommendation that you choose to recover your entire memory block instead of just the data partition. In my phone's case that is mmcblk0. Please discover if yours is different.***** Identify which block/partition you want to recover. For our purpose here we are seeking to recover the userdata partition: /dev/block/mmcblk0p12
    2. Turn on your phone
    3. Connect the phone in ADB mode
    4. Unlock the screen.
    5. Open a Cygwin terminal and enter (This assumes your BusyBox installation is at [/system/bin/busybox]. It may be at [/system/xbin/busybox]):
      Code:
      adb forward tcp:5555 tcp:5555
      adb shell
      /system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0p12
    6. Open another Cygwin terminal and enter:
      Code:
      adb forward tcp:5555 tcp:5555
      cd /nexus
      nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw
    7. Run around the house a few times. For 32GB internal memory this is going to take 3+ hours. That's a lot of running. When it's done...
    8. We need to convert the .RAW file to a virtual hard drive. VhdTool.exe basically just puts a VHD footer on the end of the .RAW file. Open a Windows command prompt, go to [c:\cygwin\nexus], and type:
      Code:
      VhdTool.exe /convert mmcblk0p12.raw
    9. Now we need to mount the VHD in Windows. Select the Start button-->right-click Computer-->select Manage.
    10. Select Storage-->Disk Management.
    11. In the menu select Action-->Attach VHD.
    12. For Location enter [c:\cygwin\nexus\mmcblk0p12.raw] and select the OK button.
    13. Right-click on the name (e.g. "Disk 1") to the left of the Unallocated space and select Initialize Disk.
    14. Select the GPT (GUID Partition Table) radio button and select the OK button.
    15. Right-click on the Unallocated space and select New Simple Volume...
    16. In the Wizard select Next>, leave the default for the volume size, select Next>, select a drive letter (e.g. K), select Next>, MAKE SURE to select the 'Do not format this volume' radio button, select Next>, select Finish.
    17. A box will pop up asking you to format the drive. You DO NOT want to format the drive at this time.
    18. Right-click on the RAW space and select Format... MAKE SURE to change the File system to FAT32. Set the Allocation unit size dropdown to 'Default.' MAKE SURE that the Perform a quick format checkbox is CHECKED. You do not want to overwrite the entire new drive with all zeroes (0's) and destroy your data. Quick Format means that it will only attempt to destroy the index for the drive by establishing a new index. Without this box checked the Windows operating system will write zeroes (0's) across the entire volume, potentially destroying your data. Select the OK button.
    19. A box will pop up saying that Formatting this volume will erase all data on it. That would be doubly true if you actually didn't check the 'Perform a quick format' checkbox. Double check that you actually did check the box and select the OK button. (Don't worry. This essentially leaves the volume in the exact same state that your phone's internal memory is living in right now: there is data on the drive...you just can't see it. It's coming back, I promise!)
    20. Open the Piriform Recuva application. In the wizard select the 'Next >' button. Select the 'Other' radio button and select Next >. Select the 'In a specific location' radio button and enter: k:\ (assuming K is the drive letter you chose...) Select the Next > button. Select the Enable Deep Scan checkbox. This is the magical setting that finds files that have been deleted...but not really deleted. Select the Start button.
    21. The application may take about an hour to do the 'Deep Scan.' It's time for more laps around the house! Once the application has returned its results you can choose which files to recover using the checkboxes. Select the 'Recover...' button and choose the location to which you wish to output your files.
    22. ?
    23. Profit! :victory:

    The Appendix
    The following links helped me to create this modern marvel - mad props to scandiun! :

    Good luck!
    31
    I forgot to mention, but run commands inside android as superuser or may fail (just after adb shell):

    Code:
    adb forward tcp:5555 tcp:5555
    adb shell
    [B]su[/B]
    /system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0p12

    And greetings for the guide, I didn't know of VHD Tool, congratulations!.
    22
    VHD tool download

    For people who are unable to get hands on VHD tool,

    Exe: https://www.mediafire.com/?f96bmsvjz4qdvbu

    Same thing in zip: https://www.mediafire.com/?f96bmsvjz4qdvbu

    Regards
    15
    Success! Thanks to everybody! :)

    After reading some posts I want to resume in one reply users contribution like advices or notes including my own contribution about "0 byte issue", "cygwin 64 bits vs 32 bits" and other issues of this topic.

    1) Remember that could be important DO NOT use the phone neither Internet neither app which could WRITE at inner memory. The less use, the better.

    2) Remember the possibility to download directly the APK playstore applications from your computer as busybox using an APK downloader instead of downloading directly from your device to prevent write on the inner memory.

    Therefore transfer the APK using USB cable to the external SD card to prevent write data to the inner memory.

    3) Remember that you could have busybox installed in bin, xbin or other folder applying these commands following the steps

    4) Check if ADB shell and busybox have "allow access" in the SuperSU at your phone
    5) Check if the phone is screen blocked with PIN. You need to unblocked it to allow connection between computer and your device
    6) Remember to ACCEPT the RSA fingerprint appear as a popup window on your device when you init the connection using ADB. If this does not appears try to move between USB modes as UTP and PTP till some event trigger it.
    7) It seems NO communication using nc command on cygwin64. Use ncat.exe instead.

    NOTE about "Cygwin 32 bit, instead of the 64 bit" issue: it is not mandatory to install cygwin (32 bits). Using ncat.exe (32 bits) instead of nc at cygwin 64 bits goes on.

    How to install ncat.exe into cygwin64:

    a) Download nmap-6.46-win32.zip from nmap website. Nmap contains ncat.exe application for Windows
    b) Open and extract ZIP file into a temp folder
    c) Copy ncat.exe, libeay32.dll and ssleay32.dll to the C:\cygwin64\bin folder (Assumed you installed cygwin in that path)
    d) Restart cygwin64 terminal to have the changes on.

    Then, change nc to ncat in this step:

    $nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw
    $ncat 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw

    8) It is not necessary to log as root inside cygwin. Only run cygwin as Windows Administrator.
    9) Remember to have ADB access at PATH environment var to allow cygwin execute Windows ADB without issues
    10) Remember to use su and absolute paths at first shell.
    $adb shell su /system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0p12

    if it shows the error "can't open permission denied" this means that the device is blocked. See steps 4), 5) and 6)

    11) You will obtain something like that after dump all data from inner memory to the raw file. It is necessary to complete with a non error process:
    ##### gywin first shell ###############

    rober@machine9873
    $ adb shell su /system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0p12
    24182784+0 records in
    24182784+0 records out

    12381585408 bytes (11.5GB) copied, 2836.886444 seconds, 4.2MB/s
    ###############################

    ##### gywin second shell ############

    $ ncat 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw
    close: No error [4,21MiB/s] [ <=> ]
    11,5GiB 0:47:17 [4,16MiB/s] [ <=>

    ###############################

    12) Remember to rename mmcblk0p12.raw to mmcblk0p12.vhd AFTER applying vhdtool /convert. Better for recognize VHD files on Windows Disk Management.
    13) AFTER Initialize Disk it is not mandatory create any volume neither quick format the disk although for piriform recuva could be necessary. However some other software as PhotoRec or Diskinternals Partition Recovery are able to READ the Initialized disk and unallocated space to recover files directly. The less manipulation on the VHD, the better.

    14) Remember that the recover utilities have file type defined. But, how about if you want to recover a special file type? In PhotoRec you can define custom file extension to be recovered. More info at cgsecurity.org.

    15) Keep calm and enjoy the process!

    _______________________
    #Computer
    Computer OS Windows 7 64 bits
    CPU Intel Core 2 Duo E6600@2.40GHz

    #Device
    Model GT-I9300
    Android 4.3
    Baseband I9300XXUGNA8
    Kernel 3.0.31-2429075
    dpi@HP20 #1
    Thu Jan 16 23:47:54 KST 2014
    Build JSS15J.I9300XXUGNA5

    Rooted CF-Auto-Root-m0-m0xx-gti9300.zip
    SuperSU 1.93
    Busybox 1.22.1
    13
    alright. I think I found the solution for the 0 Byte issue.
    I tried everything now and it finally worked.
    The culprit for me was the whole 64 bit thing. Just go 32bit. (Only thing that is 64 bit on my setup is JDK 8 right now.)

    I also want to note that I am on Windows 8 Pro (64bit)

    I quickly want to summarize the important steps where a lot of people seem to make mistakes or oversee something:

    1) get Cygwin 32 bit and NOT 64 bit
    http://cygwin.com/install.html ->> setup x86.exe

    Install it. when Installing click next until you get to the packages window. See screenshot for that . Scroll down to Utils
    add the packages pv and util-linux (by clicking on skip and checking both boxes)
    then complete your installation.

    you should now have a bin folder now.

    2) go grab the adb (adt bundle) from google.
    unzip it and copy the whole content from \adt-bundle-windows-x86_64-20140321\sdk\platform-tools
    to your C:\cygwin\bin folder

    3) grab netcat zip from http://www.daemon.de/Netcat
    and follow their instructions. its only the nc file (nc.exe to be precise) that you want to copy to your cygwin\bin folder

    thats basically it. these are the most important steps where you could have made mistakes.
    for me personally the 64 bit was the only culprit. Everything works fine with the 32 bit cygwin for me. but the 64 bit one still says 0 Bytes.. so scr*w it :)

    also if you want to know your partition, you might have different values like I do. mine was
    Code:
    su
    ls -l/dev/block/platform/dw_mmc/by-name/

    to get your own value type

    Code:
    su
    cd /dev/block/platform/
    ls
    it should output a folder name . the value that you are looking for .

    Code:
    ls -l/dev/block/platform/(ENTER_THE_VALUE_THAT_WAS_OUTPUTTED_BY_THE_LS_CMD_BEFORE)/by-name/

    And that should show you which names are assigned to which patitions (system, user ,data etc)


    And last but not least. I am just an average guy with few skills but I try to punch myself through stuff by learning and trying to do my best.
    I am not trying to brag or convince anybody and I know that there are nerds who might want to bash me. I dont care. I had the 0 byte problem myself and read through the forums and the problem was never really solved.
    Now that I solved it for myself I could ve left without sharing my success in solving this problem (for my case at least but I hope its a general one)
    But I took my time to share it with the guys in need.

    I hope it will help you and many of you have precious data that needs to be restored. I would be happy if I can contribute something to save your pics from family etc and other cases that were mentioned a few times in this thread.

    Also Thanks to the Topic Starter , but I dont recommend the recovery software that he recommend. I'd go for testdisk / photorec personally.
    There was another software that was recommended somewhere in this thread . you might want to test that one maybe if testdisk is too hard for you.

    one last request: I think my post is going to be long. so PLEASE dont quote all of it if you answer :D