View Full Version : Update: IsoPuzzle 1.6 - Recovery program for scratched damaged DVD Data-CD
marsoupilami
16th August 2006, 19:01
You need a working ASPI layer on Your system!
This program has been tested with the newest version of WNASPI32.DLL of NERO AG (Version 2.0.1.74).
Please visit the homepage of NERO AG to get the DLL and read the terms of use!
http://www.nero.com/nero6/eng/WNASPI32.DLL.html
NEW VERSION AVAILABLE HERE
http://www.geocities.com/marsoupilamis/
Please put the WNASPI32.dll together to Your IsoPuzzle.exe folder - do not copy it to Your system folders. Please note, that the behaviour of this program may depend on this dll.
@ admins:
========
If You like to host this program here please feel free to do it!
Short Description:
=============
The goal of this program is to recover as much as possible data of damaged, bad burned or scratched CDs or DVDs.
This version is experimental and supports only data CDs and DVDs with sectorsize of 2048 byte - Audio CD, VCD and SVCD are not supported.
How it works:
==========
All readable data is stored in an "ISO" image file which can be read by various software such as "Daemon Tools", "WinRar" (needs iso-plugin) and most burner software like "Nero" etc.
Please note, that image files greater 4GB need to reside on a NTFS disk!
Every succsessfully read sector is stored in the image file (*.ISO) and will be marked "good" in the corresponding "flag" file (*.FLG).
If a read error is encountered a dummy sector will be written which will remain marked "bad". In this case a random number of sectors are skipped for faster progress.
Reaching the end of the disk a retry loop will be entered until all sectors have been read or a selectable "Give Up Time" has been reached.
After selecting the "Source" drive and the "Destination" folder the copy process can be started by pressing "Start".
The filenames are taken automatically from the DVDs volume label if available.
The copy process can be interrupted at any time by pressing the "Pause" button and can be continued by pressing "Start" again.
This way You can try to complete Your image file even on different machines with different CD drives - often one drive can read some sectors which are unreadable for an other one.
For using different drives You can share the image file *.ISO (together with the flag file *.FLG) on a network drive or put it on a portable disk (USB).
Import function:
============
To avoid dealing with very large files You can use the "Import" function:
Assuming that You started on machine "A" and no more data comes from Your DVD.
.) Copy ONLY (!) the *.FLG file (e.g. via USB stick) to machine "B".
.) On "B" select "Destination" folder, where the *.FLG is located.
.) "Start" will create an "import file" *.IMP in the same folder. All readable sectors are now stored here.
.) After completion on "B" transfer the *.IMP to a location where it is accessible from machine "A".
.) On "A" it can be merged into the existing *.ISO image with "Import File"
Force Disksize - WARNING - Use with care!
=========================================
.) Some DVD drives report slightly different size of the same DVD/CD.
For ripping to an existing *.Iso/*Flg pair (or *.Imp/*.Flg) You can set
the disk size to "Flagfile reported".
(You can try "Estimated" to get out, which drive is wrong ...)
.) In some cases "empty disk" is reported although the disk is readable.
Setting the size to "Estimated" would be the choice here.
This function may be slow and unreliable.
Be careful and be sure You know what You are doing when using this function!!!
By changing the (drive reported) disk size You might accidentially destroy
an existing image file - make sure the given filenames are correct!
Cylce Tray
==========
It your responsibility NOT to change the disk while the tray is open!
History:
========
1.4 Added options: Cycle tray on multiple errors, Select iso-filename,
Force disksize (solves "different sectornumber" and "empty disk")
1.3 Progressbar & other cosmetics
1.2 Crash on missing host-adapter-0 fixed
1.1 A few bugs corrected
1.0 First release
kumi
16th August 2006, 21:42
Interesting! I've been recently hunting for something like this.
If I remember correctly, DVD-Video discs use 2048-byte sectors, so your tool should work on these, right? I have a valuable home movie burned on a degraded DVD+R (read errors occur near the starting sectors.) I'm hoping that if the outer sectors are readable, your tool will help me recover some of the footage.
Thanks marsoupilami
marsoupilami
16th August 2006, 21:52
Yes! VideoDVD use 2048-byte sectors - that's right!
Until now I'm not sure what's the best way if You are not able to complete without read errors (missing sectors).
In case of a Video-DVD I guess You can try "mock stripping" with IfoEdit.
Mug Funky
17th August 2006, 04:18
i don't suppose this handles CSS'd discs then? (2054 byte sectors IIRC). there wouldn't be much point ripping these without decryption anyway :)
real good work - the number of bad discs i've had to try on all different drives is quite large. this program should help a lot :)
kumi
17th August 2006, 23:32
I couldn't get IsoPuzzle to read out any sectors of my disc, I let it run for about 30 minutes and I got 100% read failure rate. Both DVDDecrypter (in ASPI or SPTI mode) and IsoBuster can read all but about 120 sectors.
marsoupilami
18th August 2006, 10:54
@Mug Funky
If You will get off the image You can try mounting it with DaemonTools as a virtual disk and there running DVDDecrypter... but I didn't test this.
@kumi
Maybe You have a RPC protected disk?
I've heard in such case the drive could be unlocked by opening the disk with a software player or DVDDecrypter ;)
kumi
19th August 2006, 03:26
Maybe You have a RPC protected disk?Not RPC. I replaced my wnaspi32.dll (I think it came with windows XP?), and IsoPuzzle started working.
Non-working wnaspi32.dll (100% fail-rate)
Description: ASPI for Win32 DLL
Company: Adaptec
Version: 4.71.0002.0000
Working wnaspi32.dll:
Description: Win32 Nero Aspi Library
Company: Ahead Software AG
Version: 2.00.0001.0074
Edit: it's strange, the Adaptec wnaspi32.dll is the same one DVDDecrypter is using, and it works in that program.
LakersFan
19th August 2006, 05:27
So basically it's like this: http://forum.doom9.org/showthread.php?t=106778 except in English?
I love that program, it's saved me a few times. :)
marsoupilami
19th August 2006, 09:14
@kumi
It is NOT necessary to change anything in Your system:
Simply keep the working dll together with the exe in the same folder!
I didn't test many versions of different dlls... If You like mail me the non-working one - I will try to fix this in a next version!
@LakersFan
I had the idea to write such a program a long while ago.
When a friend told me about that german program I presented it here.
This one - I hope - is more user friendly because of it's GUI, it's 'GiveUp' and it's 'shutdown' function and it takes the filenames from the disk automatically (which could be a useful feature late at night) :)
I also tried to find a faster an more efficient retry strategy with pausing or spinning up the drive after some read errors.
For the future I have planned to support VCD and maybe audio - but we'll see....
LakersFan
20th August 2006, 05:23
Yes, I agree this is MUCH more user friendly for me, specifically the GUI. Thanks for taking the time to write it. I'm looking forward to trying it out. (Then again, hopefully I won't have to any time soon.)
Take care,
LF
marsoupilami
2nd November 2006, 22:19
A few bugfixes ...
NEW VERSION - ALSO AVAILABLE HERE
http://www.geocities.com/marsoupilamis/
Please visit the homepage of NERO AG to get the WNASPI.DLL and read the terms of use
http://www.nero.com/nero6/eng/WNASPI32.DLL.html
:)
mgpc
4th November 2006, 21:34
Thank you!!! :-)
It's nice, I like it, I need it.
Thanks again.
Mark
I ran it last night over an 'unreadable' DVD and it's pulled off all but 200 sectors so far (170 passes) and it's still getting data off, great!
A couple of minor things, it would be good (for me) if the scroller in the log window would stay at the bottom, ie always show the last messages.
My drive seems to cope better, and read more data, if I cycle the tray occasionally, i.e it just picked up another ~20 sectors after I cycled the tray, after >20 passes with getting no data. Could you consider an option to cycle the tray every so many passes, (or maybe after 'n' passes with 0 sectors read)?
Thanks
Mark
Trahald
5th November 2006, 00:51
this program is better than that other one (which i tried a few months ago.) the auto loop and import are great! (my wifi isnt stable enough for the network option)
LakersFan
5th November 2006, 06:39
Really really minor bug, but the 'X" button in the upper right corner doesn't work for me...
Other than that, :thanks:
cnn66
5th November 2006, 20:09
Interesting! I've been recently hunting for something like this.
LOL
marsoupilami
6th November 2006, 18:21
@LakersFan
Yes - I disabled the small "x" button but did'nt grey it out...
@mgpc
The main reason for a new version was an crash on initialisation with "host adapter 0 not present"...
The "cycle tray" option I had considered when I started to write this program - but I encountered a lot of problems especially when a disk makes troubles while mounting.
When I played around with some "bad burned" disks I experienced that only cycling the tray doesn't have a great effect - don't ask me why.
A really good practice was to cool down the disk putting it into the freezer for some minutes and to reload it manually. Maybe there are microscopic air bubbles (?) inside the medium which are decreasing in size temporarily at low temperature.
However - I'll think on it when i continue optimizing the retry strategy...
marsoupilami
14th November 2006, 21:00
I've just put the final 1.3 on my page.
* The small "x" button is working now.
* The logwindow is scrolling down
* A progressbar is added - not very precise but it's obvious now what's going on ...
@mgpc
With the "cycle tray" option I didn't succseed - A further problem is how to "re-unlock" the drive if You like to backup a RCP protected disk... (The first unlocking would be easy with every player)
I leghtened the pause times instead - for me it seems to be more effective.
Mug Funky
16th November 2006, 02:25
i just tried it on a poorly burnt Z-CLV disc (ie the 3rd speed zone and beyond would not read at all on my 111D), and it worked nicely. excellent.
so could this be extended to CSS'd discs? i'm still not clear if it can rip the full 2054 sectors, and if so whether it's possible to deCSS the image file made (i'm guessing probably not unless the DVD is still in the drive). not a big deal because most of the bad discs i get are burns, but every now and then you get a badly pressed disc, or one that's been buggered in transit or by careless users.
maybe i'll just try one and see what happens :) i wouldn't expect you to implement deCSS yourself, as that could put a legal compromise on a program that's too useful for that kind of bother.
cd090580
16th November 2006, 14:52
Hi,
juste one question. How many pass it does on bad sectors ?????
20000 bad sectors = 20000 passes ???? I hope not
marsoupilami
17th November 2006, 15:35
... i wouldn't expect you to implement deCSS yourself, as ...
I didn't spent much time on thinking of RCP, deCSS, decryption and so on - I have no idea how that works and I guess there could be a simple way:
An RCP disk can be "opened" with every player software or by selecting the drive with DVDD.
The resulting image will be still encrypted - but with Daemon Tools You can mount it and DVDD might decrypt the virtual drive?
Many thanks to LighningUK for that great program:thanks:
Maybe it's also possible to load AnyDVD with "ignore read errors" turned off - but I never tried all this...
mgpc
17th November 2006, 15:38
Hi,
juste one question. How many pass it does on bad sectors ?????
20000 bad sectors = 20000 passes ???? I hope not
Click the '+' next to 'normal' in the 'Log Window' section, and change the Normal to Verbose, and the log window will show how many reads and failures it makes on each pass.
But yeah, 20000 bad sectors will take a while. Mind you I had a disk than ran to ~100 passes with 2000 bad sectors and not many reads, then it seemed to finish quickly from that point.
Mark
bloodrush
21st November 2006, 07:27
Wow!! that's all I can say. Greatest program ever. This program has recovered a DVD that I've kept in my closet, praying I could someday recover the data off of it. Thank you so much, worked like a charm. It took 10 hours but it fully recovered data that no other program has gotten close to.
Also, paired with AnyDVD..you can get data off of CSS encrypted discs. I had a retail dvd that always had glitches at the end of the movie due to scratches. I was never able to get DVDdecrypter to fully read it. Loaded up AnyDVD and ISOPuzzle, it was able to pull off those last few bytes to give me a complete ISO finally. Burned off a new copy and....yeah...complete movie. Thanks for the great program.
Mug Funky
7th December 2006, 04:10
just a small feature request - would it be possible to specify a filename for the ISO file that gets ripped?
marsoupilami
12th December 2006, 15:59
@bloodrush
Nice to get some positive feedback - Anjong Haseo!
@Mug Funky
Currently I don't have much free time... For one of the next versions I've planned to support VCD which would require some changes (e.g. a differerent fileformat - mds, cue/bin? I have no idea right now...)
But I'll think on it - as I'll do with a "cycle tray" option.
outsiders71
15th December 2006, 19:46
marsoupilami,
I just wanted to applaud your work! This program is an essential tool! Thank you!
sirzur
31st December 2006, 03:18
Thanks for this great tool. I have a question about Sectornumber. I have a writeable DVD-R which I am trying to rip. I have used one drive to rip and then tried it in another. However I am getting "Sectornumber sould be XXX. Drive reports XXX"
I presume that the Sectornumber is to make sure that information on one disk is not accidently overwritten onto another. Even if the sectonumbers are different, would it still be possible to use the import function or use another drive to rip the problem disk? If it is possible, can the program be modified such that it would continue even if there ae different sectornumbers. Of course, if that is the case, then there should be warnings about the effect of overwriting one disk on another etc etc.
PS I have also been following advise on freezing the diska nd then reripping
Cheers
marsoupilami
8th January 2007, 16:29
sirzur,
You are right! The sectornumber is checked to prevent ripping different disks to the same image and also to determine the size of the flagfile.
Overwriting the drive reported sectornumber will be possible in the next version for a different reason: some erroneous disks report size 0 (I guess because the session is unclosed).
If you don't like to wait a few weeks for the next version there is a - not really recommended - workaround (please don't beat me, if it's not working):
Make the 1st ripping attempt on that drive, which reports the larger size. You can edit the "total number of sectors" which is the first double word in the flagfile. This will produce only a "checksum error" which can be ignored...
Edit:
However I am getting "Sectornumber sould be XXX. Drive reports XXX"
What difference is reported? Only a few sectors?
Piyoko
10th January 2007, 03:47
I just have to thank you for this awesome application! I had a bonus disc from a retail DVD that came loose during shipping and was badly scratched. Tried DVD Decrypter on a bunch of different drives and it was just doing retry upon retry upon retry without getting anywhere. So I also put AnyDVD in the background to get rid of the CSS and let this app run, and after only 10 minutes and a couple of passes over the problematic section I had a perfect iso on my hard drive. Awesome! :)
sirzur
12th January 2007, 01:42
I can't remember the difference between the sector numbers but it is quite small.
I think I will wait for a new version rather than editing the flag file
marsoupilami
22nd January 2007, 19:41
Well!
The new version 1.4 will have:
.) A Force Volumesize dialog for fooling the disksize
(for solving the "empty disk" and the "different sectornumber" problems) - be careful!
.) A Cycle Tray checkbox
.) The Filenames are now only suggested
LakersFan
22nd January 2007, 23:04
Sounds great. Looking forward to using this. I love the cycle tray option.
Thank you.
ilpippo80
23rd January 2007, 11:48
Hello Masoupilami,
first of all thanks, great program, it's really useful!
One small feature request:
I wanted to tinker with the number of skipped sectors to see if I can get any speed improvement with it... Do you think it's possible for you to add a switch (maybe just in the ini file so probably it would be easier for you) to choose a fixed number and not a random one for it?
Thanks!
LProof
23rd January 2007, 19:56
Thank you so much for this wonderful program. I've already recovered 3 bad DVDs I had no hope of recovering before!
Possibly something obvious that I'm missing - but is there a way to tell exactly which sectors are missing - a program I can use to read the *.flg file? Wordpad gives me gibberish.
marsoupilami
23rd January 2007, 23:28
@ilpippo80
There would be a lot of switches & adjustments - but I tried to keep the use as simple as possible.
Besides: The random number of skipped sectors is adapted to the missing part - the more sectors are missing the larger the steps.
@LProof
If You have a look to the flagfile with a hexeditor: following the header every bit represents one sector
snn47
30th January 2007, 11:02
Is there a way to use DVD-RAM with the programm?
While I had had no problem so far in reading DVD-RAM, unlike CD- & DVD-r(w), I am wondering is there a way at all to recover data from scratched/unaccessable DVD-RAM, if it should happen?
mgpc
28th February 2007, 19:14
And is there any way to get it to read a disc (DVD-R), which burned and verified ok, including a check with Nero Cd/Dvd-Speed Scandisk...
and now, about a year later is showing as an empty disc! It's *not*, I don't LABEL discs until I've verified I can read the content, ever.
And I've got about a dozen of them, and they are all Datawrite Yellow's with absolutely useless CMC MAG AE1 dye. Imgburn says they are empty, so does Isobuster and IsoPuzzle, but they AREN'T. Visibly they aren't!
I will never buy anything but Taiyo-Yudens again, even if they are more expensive.
marsoupilami, is there any way to force IP to just read off all the data, even if the disc appears to be empty? Maybe then I can get IsoBuster to scan the ISO for me and extract at least some of the data.
Mark
Oops, just looked at the Changelog for 1.4, it looks like it already does this, let's go and check.....
Umm that's recovered 2 for 2 so far, with the third proceeding happily, though on one disc it took ages (10min+) to go off Drive Not Ready.
marsoupilami
28th February 2007, 21:36
@snn47
Sorry - I have no DVD-RAM ... neither at home nor in our company
@mgpc
Sorry but maybe I'll dissapoint You too...
A few years ago I also had a couple of SWISSTEC disks which verified ok and a few month later they seemed to be 'empty'.
Although the surface shows exactly which region of the disks had been written to - I could not recover even one sector!
I definitely did not store these disks in light or hot areas - they seem to have been rotten in the dark....
I hope You will have more luck and you got it in the beginning of the dissolving process!
mgpc
28th February 2007, 21:55
marsoupilami, I'm currently at 4 discs read fine, 1 that had a couple of read errors so I've paused it at the moment, and 1 more on the way, plus one I haven't been able to get anything off yet because IP never comes back saying Drive Not Ready, even though ImgBurn reads the disc info quite quickly, but I guess it's reading elsewhere on the disc.
Thanks again.
Mark
mgpc
28th February 2007, 22:08
For those discs that don't seem to come back from DriveNotReady, any chance we could have an option to NOT try to get any details off the disc, like the drive reported sectors or the label, and just start reading, to the full size of the media. I realise this will get lots of errors towards the end of the disc, but might still get enough data to be useful.
Force Size = Max for this media maybe? With possibly an option to reduce the size when we figure out where the end of the written data is? And I've just come across another disc that IP won't even start on because it can't read the label. Does it ever timeout?
Now at 5 read ok, one with some errors and 3 saying DriveNotReady.
IP is brilliant!
<pedant>BTW, on the doco page for IP1.4 you have a heading of 'Cylce Tray' instead of 'Cycle Tray'.</pedant>
mgpc
1st March 2007, 13:59
I have now recovered 8 out of 9 discs that Imgburn says are empty, the last one IsoPuzzle sat trying to read the disc details for about 10 hours before I gave up. It sometimes took half a dozen disc mounts before IP found the details, but then it recovered them perfectly, even the disc that had errors reading first time.
Mark
setarip_old
1st March 2007, 18:04
@mgpc
Hi!I don't LABEL discs until I've verified I can read the contentAre you referring to adhesive labels? If so, be advised that they may contract with time, causing your discs to warp and make them (temporarily) unreadable.
Removing such labels usually makes them once again readable...
snn47
10th April 2007, 06:31
Some feedback from my test, in short I was unlucky in recovering a badly scratched DVD (dull surface ) and got a variety of error messages.
I tried several drives drive brand No interface,
LG 4167 IDE,
Plextor 740 FW ??,
TEAC DV-W50 FW Prolific,
Pio KV14 USB2 ??, and
an older PIO 116 ROM FW Prolific.
System ASUS A7V266E, KT266A/xx33 SB, AMD XP1800, PCI TI FW controller.
XP-Pro, Nero 6.6 & InCD (turned on/off made no difference when errors were received)
Isopuzzle didn't start with the ROM, only with DVD-Burners.
I made 2 ISO-files one with the LG (in under an hour), the Plextor took about 1 1/2 days for the second ISO-file.
Both didn't recover the data, so I tried the other drives, using the flag-file or ammending the ISO.
Isopuzzle started
Continue 4167.iso
Loop 1 read 2006176 Errors 0
and stoped with the error message
Exit 0x5c: Disk full
When I deleted the iso-files and tried to create a new one I had
create .iso
Exit 0x0: 0k
Exit 0x0: Disk is Empty
trying an old flagfile
Disksize changed to "Existing Flagfile" (2253343 Sectors)
Continue .iso
Exit 0x2: FOpen *.iso
Does this make any sence to you?
I tried every combination I could think of just short of a new XP installation.
Does ISOpuzzle use the registry?
marsoupilami
11th April 2007, 21:23
Hi there!
I didn't understand everything - but I'll try...
Isopuzzle started
Continue 4167.iso
Loop 1 read 2006176 Errors 0
and stoped with the error message
Exit 0x5c: Disk full
Maybe You tried to write to a non-NTFS partition?
(The warning is often supressed because of the unreliable media identifier returned by the system)
Writing more than 4GB to a non-NTFS disk will produce a write error and the 'disk full' message!
When I deleted the iso-files and tried to create a new one I had
create .iso
Exit 0x0: 0k
Exit 0x0: Disk is Empty
Although a DVD is readable some drives return 'zero size' (= empty disk) - that was one reason for 'force size' dialog
trying an old flagfile
Disksize changed to "Existing Flagfile" (2253343 Sectors)
Continue .iso
Exit 0x2: FOpen *.iso
On my XP (both 'home' and 'pro') I have a file locking problem very often - especially (but not only) if I terminate a program via the taskmanager the accessed file remaines locked (deny write) until the system is rebooted - this might cause the 'file open error'.... i guess this could be a reason
Another possibility could be 4GB-problem on an non-NTFS (as above) ??
Does ISOpuzzle use the registry?
No! The 'destination path' etc. is stored in the *.ini
snn47
12th April 2007, 08:23
:thanks: Thank you for the fast reply.
Since I do own such "nice" very badly scratched DVD I can't wait to try again next weekend.:devil:
You are correct that I terminated isopuzzle via the taskmanager and did not reboot.
However while my HDD has mix of NTFS and FAT32, I am pretty shure that I had the problem with the NTFS partition.
When I changed DVD-drives I use a second folder on the same partition. However when I copyied the flag-file from one folder to the other and started Isopuzzle new it still asked for the isofile.
rookandpawn
24th May 2007, 10:27
Lets see, Ive tried DvdDecrypter in iso mode, ive tried Cd/DVD data Recovery, ive tried CD Check, ....
None are as fast and do what i want more than IsoPuzzle.
Way to go man!
poprock
14th August 2007, 06:52
I have tried Stellar Phoenix CD Data Recovery (http://www.stellarinfo.com) Software It Provides recovery of data and file, lost due to unreadable, scratched, corrupt or defective CD media. Phoenix CD Data Recovery Software supports ISO9660 and Joliet file system.
Politiken
6th September 2007, 11:04
Hi - The concept of marking good/bad sectors using the flag file together with the import function is a great idea !!!
I tested a scrathed dvd - it fullfilled 98 % and then I exited the application (using the exit button). I later restarted the job but IsoPuzzle fails with these messages:
regards Pol
marsoupilami
9th October 2007, 13:40
Hi Politiken!
Sorry about the very late answer ... I have been on holidays.
Obviously your *.flg has been corrupted (don't know the reason...)
The drive reports 3847037 sectors - multiplied by 2k => 7.8 GB (this looks plausible for a DVD-DL)
Besides ... do you have more than 8 drives connected? (physical + virtual)
regards
saulob
11th November 2007, 20:20
A few bugfixes ...
NEW VERSION - ALSO AVAILABLE HERE
http://www.geocities.com/marsoupilamis/
Please visit the homepage of NERO AG to get the WNASPI.DLL and read the terms of use
http://www.nero.com/nero6/eng/WNASPI32.DLL.html
:)
marsoupilami, thanks for the program, but... the WNASPI32.DLL download link from Nero.com is gone....
Any mirror ?
thanks :)
marsoupilami
12th November 2007, 20:38
The page with the link has been removed but the file is still there - it is fixed now!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.