Open GoogleCodeExporter opened 9 years ago
I can submit testcases if necessary -- though 'hdiutil' in OS X can generate
all of the DC6.1+ images.
ShrinkWrap images, which are similar to DC6.1+ images in format but use
different compression schemes, are much more important in my opinion. I can
submit testcases for these -- just give me some ready-made NDIF images to start
with.
I am NOT asking that The Unarchiver handle images fully, just that it
decompress them.
Original comment by d235...@gmail.com
on 30 Sep 2010 at 10:00
I was looking things up, and noticed there's some UDIF format which supposedly
is just the data and resource forks of a NDIF concaternated together with a
header. That would be much easier to handle, so that seems like a good thing to
start with.
Original comment by paracel...@gmail.com
on 30 Sep 2010 at 10:08
Probably.
I don't think it would be too hard to use the UNIX API (filename/rsrc) to copy
the resource fork of the file into a temporary data fork file, then use
GTResourceFork or something similar to take that apart. I've attached
GTResourceFork (there are references to FurcKit even though it isn't used)
because the developer who had it took down his site.
Original comment by d235...@gmail.com
on 30 Sep 2010 at 10:17
Attachments:
The best idea might be to have the library only handle UDIF, and then put in
some wrapper code that can convert an NDIF into UDIF before passing it to the
library. Will have to see.
(The library works entirely on abstract data streams, to make it possible to
unpack directly from inside an archive without temporary files, which is why it
is hard to handle anything that isn't a single data stream.)
Original comment by paracel...@gmail.com
on 30 Sep 2010 at 10:23
I see.
Anyway, can you upload an NDIF (or several) of some sort that I can convert to
the more obscure formats (ShrinkWrap)?
Original comment by d235...@gmail.com
on 30 Sep 2010 at 10:44
Since I don't really know enough about the format, I don't think I have any
good ideas for good test cases, so it's better to just take any old file (or a
couple of them) and use that (and upload the unpacked ones, too). I don't have
any myself, so I'm no help there.
Original comment by paracel...@gmail.com
on 30 Sep 2010 at 11:09
I've uploaded various kinds of images (these are zipped with Archive Utility,
so the resource fork is embedded in the zip in AppleDouble format) to
http://dec8.info/priv/images/ .
There are the following formats. I've tried to cover as many as possible:
UDRW - UDIF read/write image
UDRO - UDIF read-only image
UDCO - UDIF ADC-compressed image
UDZO - UDIF zlib-compressed image
UDBZ - UDIF bzip2-compressed image (OS X 10.4+ only)
UFBI - UDIF entire image with MD5 checksum
UDRo - UDIF read-only (obsolete format)
UDCo - UDIF compressed (obsolete format)
UDTO - DVD/CD-R master for export
UDxx - UDIF stub image
UDSP - SPARSE (grows with content)
UDSB - SPARSEBUNDLE (grows with content; bundle-backed)
RdWr - NDIF read/write image (deprecated)
Rdxx - NDIF read-only image (Disk Copy 6.3.3 format)
ROCo - NDIF compressed image (deprecated)
Rken - NDIF compressed (obsolete format)
DC42 - Disk Copy 4.2 image
The ones I'd focus on are Rken and ROCo, as well as the ShrinkWrap "StuffIt"
format (NOT in that list) which is the worst of the whole set, since Disk
Utility doesn't support it. Several of the images are probably uncompressed but
with weird headers.
Original comment by d235...@gmail.com
on 1 Oct 2010 at 1:01
All right, got them.
Original comment by paracel...@gmail.com
on 1 Oct 2010 at 1:26
all fourteen? I may not have uploaded all...
Original comment by d235...@gmail.com
on 1 Oct 2010 at 1:36
Seems to be 14 files here, yes.
Original comment by paracel...@gmail.com
on 1 Oct 2010 at 2:04
Any hints using the lib that the iphone/jb folks use?
http://github.com/planetbeing/xpwn/tree/master/hdutil/
Original comment by atr000
on 6 Oct 2010 at 1:46
There's that, there's also dmg2img from http://vu1tur.eu.org/tools/
But most of these can only handle UDRW, UDRO, UDZO, and UDBZ (perhaps UFBI
too). UDTO is *probably* just raw device.
There is info about the ADC algorithm at http://www.macdisk.com/dmgen.php .
This is used in UDCO and perhaps UDCo and ROCo. Not too sure.
Also, Rdxx (probably UDRo too) uses some form of RLE or simple compression to
eliminate long runs of zeroes.
Original comment by d235...@gmail.com
on 6 Oct 2010 at 2:13
Original issue reported on code.google.com by
d235...@gmail.com
on 30 Sep 2010 at 9:58