Fixing Corrupted Download Files

  • Upload
    rocco1

  • View
    239

  • Download
    0

Embed Size (px)

Citation preview

  • 8/4/2019 Fixing Corrupted Download Files

    1/5

    Fixing Corrupted Download FilesWritten by tejus, posted on http://www.errorforum.com

    Large downloads often seem to become corrupted due to one or more of the following reasons:* Bug in the download manager* Bad proxy server* Bad web server* Problems with your own computer

    Re-downloading corrupted files, specially those sized over 500 MB are really painful for most of us. And there isno guarantee that the re-downloaded file will be free of corruption as far as you are using the same configuration.

    In such cases, its best to fix them manually instead of downloading again. The whole process is very simple, butrequires enough concentration. Once you have mastered it, you will never have to worry about corrupted files.

    Tools Required:

    * WinHex http://www.winhex.com/winhex.zip* CURL http://curl.haxx.se/latest.cgi?curl=win32-nossl-sspi

    Steps required in brief:

    * Make a backup copy of the corrupted file and open it with WinHex* Identify corrupted segments. Large sequences of zeros are all we have to search for in most cases* Re-download the corrupted segments with CURL* Write the retrieved data on appropiate offsets

    Now, let us look at a Step By Step Example:

    Let us assume that we have a corrupted file named corrupted.rar. We open it WinHex, and do the followingthings:

    Switch the offset representation from hex to decimal by clicking once on the offset area.

    Now we search for corrupted segments. Most of the time they will be sequences of zeros. As we can see fromthe first bytes of the opened file, it's a rar file. Files we download over the Internet are mostly compressedformats. By design, a fresh file should not contain sequences of zeros or other repeating bytes after the headerpart. So, we scroll a few pages down.

    Page 1 of 5

  • 8/4/2019 Fixing Corrupted Download Files

    2/5

    Now we start searching for such sequences with CTRL+ALT+F.

    The search takes us to a place where we can see some zeros and repeating bytes. Surely this is one of the

    corrupted segments.

    age 2 of 5

  • 8/4/2019 Fixing Corrupted Download Files

    3/5

    So, now we have to download the missing data using CURL. It's always a good idea to retrieve the data withsome margin. In our case, we get the bytes from 01094304 to 01094512 in order to cover the screenshot size. Ina real case it should be even higher.

    So, we start the command prompt and issue the command

    "curl -r 1094304-1094512 http://badserver.com/mygoodfile.rar -o 01094304.bin"to download the mentioned segment of the original file, and save it to a file named 01094304.bin. For details, theCURL manual can help. After it's done, CURL will terminate and we will have our file 01094304.bin right insideCURL's folder.

    Now we open the downloaded segment 01094304.bin with WinHex.

    Copy the whole file with CTRL+A -> CTRL+C.

    Page 3 of 5

  • 8/4/2019 Fixing Corrupted Download Files

    4/5

    Switch back to our corrupted file and go to the starting offset of our retrieved segment. CTRL+G -> 01094304

    Now press CTRL+B to write the copied data over this offset. It is very important to determine correct offset. Oneoffset left or right can ruin everything. Our retrieved segment starts with 18 1E BD 3D, and the offset we are

    going to write here also starts with 18 1E BD 3D.

    age 4 of 5

  • 8/4/2019 Fixing Corrupted Download Files

    5/5

    After we are done, we save the file using CTRL+S. For larger files, it is better to switch the edit mode to in-placemode. F6 -> In-place mode.

    Now we can see that the corrupted part has been filled with original data, and it's fixed. In this example we hadonly of such segment. But in real cases, there might be several segments like this. In that case the wholeprocedure is to be repeated for each corrupted segment. Also note that, the length of zero sequences to find forcan be chosen to be smaller or larger than the length used here.

    Page 5 of 5