I think, you need documentation about the format apple uses with their diskimages, especially the "compressed image".
From what I found, nowhere is written, if, and how the compression is done.
Most likely, the compression is achived by only ignoring empty space.
But still, that means, if you cannot convert the image to an uncompressed version, you only get garbage if you restore it with dd.
And, if there is some real compression in the image, you will not be able to get anything back with DataRescue.
The DiskImageFramework is AFAIK not open source.
But, maybe check that out yourself at
http://opensource.apple.com
I found somthing on the web, where someone said, if the first byte of the image is hex 78, it is a compressed image.
Maybe check that.
Software:
http://hexedit.sourceforge.net
It would help to know, if this is compressed or not.
Example of the first line of the same folder:
Uncompressed:
<pre>
50 4D 00 00 00 00 00 03 00 00 00 01 00 00 00 3F
41 70 70 6C 65 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
41 70 70 6C 65 5F 70 61 72 74 69 74 69 6F 6E 5F
6D 61 70 00 00 00 00 00 00 00 00 00 00 00 00 00
</pre>
Compressed:
<pre>
78 01 ED D0 B1 0D 00 20 08 04 C0 77 13 E7 72 1A
47 37 91 01 B0 B1 BB 2F A0 78 0A 72 49 C6 6A 92
9B 59 6B 27 CD F9 F7 BA 1E 31 09 10 20 40 80 00
01 02 04 08 10 20 40 80 00 81 57 81 03 0D 74 38
E2 78 01 ED D0 01 0D 00 00 00 C2 A0 F7 4F 6D 0F
</pre>
That suggests, that there is more then just omitting zeroes.
To check, if the image is truncated:
If it is not a "raw" image:
You should find about 200 hex bytes from the end, an embedded xml/plist.
If you find it and copy that with hexedit into a textedit window, you should get some information about the image.
it looks like this:
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>resource-fork</key>
<dict>
<key>blkx</key>
<array>
<dict>
<key>Attributes</key>
<string>0x0050</string>
<key>CFName</key>
<string>Driver Descriptor Map (DDM : 0)</string>
<key>Data</key>
<data>
bWlzaAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA
AAII/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAIAAAAgv0dHMAAAAAAAGV14ACWZJAAAAAEAgWL0AIFi
AAAAAAQAAAAEAFWlgAAAAAAAGZkk8AgIACgAIkQAGZ2w
AIFiAAAAAAAABQAAAAUt3AAAAAEAAAABAAAAAACBYgAA
GbuY8AgIAAAFROQAGbwwAFWlcAAAAAQAA5bQki1YkJIt
9EgAAAACgAAABQAAAAoAAAAAAAAAAAAAAAAAAAABAAAA
AAAAAG4AAAAAAAAAFv////8AAAAAAAAAAAAAAAEAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
</data>
<key>ID</key>
<string>-1</string>
<key>Name</key>
<string>Driver Descriptor Map (DDM : 0)</string>
</dict>
<dict>
<key>Attributes</key>
<string>0x0050</string>
<key>CFName</key>
<string>Apple (Apple
partitionmap : 1)</string>
<key>Data</key>
<data>
bWlzaAAAAAEAAAAAAAAAAQAAAAAAAAA/AAAAAAAAAAAA
AAIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAIAAAAghtdUTAAAAAAAGV14ACWZJAAAAAEAgWL0AIFi
AAAAAAQAAAAEAFWlgAAAAAAAGZkk8AgIACgAIkQAGZ2w
AIFiAAAAAAAABQAAAAUt3AAAAAEAAAABAAAAAACBYgAA
GbuY8AgIAAAFROQAGbwwAFWlcAAAAAQAA5bQki1YkJIt
9EgAAAACgAAABQAAAHgAAAAAAAAAAAAAAAAAAAA/AAAA
AAAAt90AAAAAAAABHv////8AAAAAAAAAAAAAAD8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
</data>
<key>ID</key>
<string>0</string>
<key>Name</key>
<string>Apple (Apple
partitionmap : 1)</string>
</dict>
<dict>
<key>Attributes</key>
<string>0x0050</string>
<key>CFName</key>
<string>disk image (Apple_HFS : 2)</string>
<key>Data</key>
<data>
bWlzaAAAAAEAAAAAAAAAQAAAAAAAAF3QAAAAAAAAAAAA
AAIIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAIAAAAgUDLgJgAAAAAAGV14ACWZJAAAAAEAgWL0AIFi
AAAAAAQAAAAEAFWlgAAAAAAAGZkk8AgIACgAIkQAGZ2w
AIFiAAAAAAAABQAAAAUt3AAAAAEAAAABAAAAAACBYgAA
GbuY8AgIAAAFROQAGbwwAFWlcAAAAAQAA5bQki1YkJIt
9EgAAAA0gAAABQAAAHgAAAAAAAAAAAAAAAAAAAHBAAAA
AAAEMLkAAAAAAAALuQAAAAAAAAAAAAAAAAAAAcEAAAAA
AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAEAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABgAAAAAAAAACAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAA
AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAADAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA4AAAAAAAAAAgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAIAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQA
AAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAWAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAGAAAAAAAAAACAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAAAgAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
HgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAiAAAAAAAAAAIAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAACAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAAAAA
AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAKgAAAAAAAAACAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuAAAAAAAAAAIA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAA
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAADIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA0AAAAAAAAAAIAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAANgAAAAAAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAA
AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6
AAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAPAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAD4AAAAAAAAAAgAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAQAAAA
AAAAAAAAAAAAAAAAAIAAAAUAAAADAAAAAAAAQBAAAAAA
AAAACAAAAAAAAAAAAAAAAAAAAEGAAAAFAAALNQAAAAAA
AEAYAAAAAAAAAZAAAAAAAAzHfQAAAAAAACxJAAAAAAAA
AAAAAAAAAABBqAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAA
AAAAAAIAAAAAAAAAAAAAQcgAAAAAAAAIcAAAAAAAAAAA
AAAAAAAAAACAAAAFAAAAEwAAAAAAAEo4AAAAAAAAAgAA
AAAAAAAAmgAAAAAAALVDgAAABQAAACUAAAAAAABMOAAA
AAAAAAIAAAAAAAAAwJwAAAAAAADzVIAAAAUAAAAxAAAA
AAAATjgAAAAAAAACAAAAAAAAAbPwAAAAAAACfMmAAAAF
AAAAJwAAAAAAAFA4AAAAAAAAAgAAAAAAAAgwuQAAAAAA
AuykgAAABQAAADkAAAAAAABSOAAAAAAAAAIAAAAAAAAL
7f4AAAAAAADZf4AAAAUAAAA/AAAAAAAAVDgAAAAAAAAC
AAAAAAAADPPGAAAAAAAAx/KAAAAFAAAAUQAAAAAAAFY4
AAAAAAAAAgAAAAAAAA27uAAAAAAAAKFngAAABQAAAEEA
AAAAAABYOAAAAAAAAAIAAAAAAAALHV0AAAAAAADQoYAA
AAUAAAA/AAAAAAAAWjgAAAAAAAACAAAAAAAADl0fAAAA
AAAAwCeAAAAFAAAAPQAAAAAAAFw4AAAAAAAAAZAAAAAA
AAQ8cgAAAAAAAICqAAAAAgAAAD0AAAAAAABdyAAAAAAA
AAAGAAAAAAAAuPsAAAAAAAAAAIAAAAUAAAA9AAAAAAAA
Xc4AAAAAAAAAAQAAAAAAALj7AAAAAAAAAIsAAAACAAAA
PQAAAAAAAF3PAAAAAAAAAAEAAAAAAAAAhAAAAAAAAAAA
/////wAAAAAAAAAAAABd0AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAA==
</data>
<key>ID</key>
<string>1</string>
<key>Name</key>
<string>disk image (Apple_HFS : 2)</string>
</dict>
<dict>
<key>Attributes</key>
<string>0x0050</string>
<key>CFName</key>
<string> (Apple_Free : 3)</string>
<key>Data</key>
<data>
bWlzaAAAAAEAAAAAAABeEAAAAAAAAAAKAAAAAAAAAAAA
AAIIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAIAAAAgAAAAAAAAAAAAGV14ACWZJAAAAAEAgWL0AIFi
AAAAAAQAAAAEAFWlgAAAAAAAGZkk8AgIACgAIkQAGZ2w
AIFiAAAAAAAABQAAAAUt3AAAAAEAAAABAAAAAACBYgAA
GbuY8AgIAAAFROQAGbwwAFWlcAAAAAQAA5bQki1YkJIt
9EgAAAACAAAAAgAAAD0AAAAAAAAAAAAAAAAAAAAKAAAA
AAAAAEEAAAAAAAAAAP////8AAAAAAAAAAAAAAAoAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA=
</data>
<key>ID</key>
<string>2</string>
<key>Name</key>
<string> (Apple_Free : 3)</string>
</dict>
</array>
<key>plst</key>
<array>
<dict>
<key>Attributes</key>
<string>0x0050</string>
<key>Data</key>
<data>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA
</data>
<key>ID</key>
<string>0</string>
<key>Name</key>
<string></string>
</dict>
</array>
</dict>
</dict>
</plist>
</pre>
If you dont find it, then, the image is truncated or it is not compressed and not an uncompressed image, but somthing else (unlikely)