Comments (2)
Decompression works fine here (try dmg2img -d SDL2-2.0.4.dmg
, it produces a dmg2img.log
file). binwalk SDL2-2.0.4.img
shows several signatures.
This produces a working HFS+ image for me:
$ dd bs=512 skip=39 count=$((0x2828)) if=SDL2-2.0.4.img of=39.img
$ 7z l 39.img
7-Zip [64] 9.38 beta Copyright (c) 1999-2014 Igor Pavlov 2015-01-03
p7zip Version 9.38.1 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,4 CPUs,ASM)
...
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2016-01-02 21:00:11 D.... SDL2
2016-01-02 21:00:07 ..... 15364 16384 SDL2/.DS_Store
2016-01-02 21:00:09 D.... SDL2/.HFS+ Private Directory Data
2016-01-02 21:00:07 D.... SDL2/.logo
2016-01-02 21:00:11 D.... SDL2/.Trashes
2016-01-02 21:00:07 ..... 909 4096 SDL2/License.txt
2016-01-02 21:00:07 ..... 1178 4096 SDL2/ReadMe.txt
2016-01-02 21:00:06 D.... SDL2/SDL2.framework
...
It corresponds to this block:
BlocksSignature : 6d697368
InfoVersion : 00000001
FirstSectorNumber : 0000000000000028
SectorCount : 0000000000002828
DataStart : 0000000000000000
DecompressedBufferRequested : 00000808
BlocksDescriptor : 00000004
ChecksumType : 00000002
Checksum : 8edf12cb
BlocksRunCount : 0000000d
run..... ..type.... ..reserved ..sectorStart..... ..sectorCount..... ..compOffset...... ..compLength......
0x00000000 0x80000005 0x00000035 0x0000000000000000 0x00000000000001B0 0x0000000000040F2C 0x00000000000004D8 zlib
0x00000001 0x00000002 0x00000035 0x00000000000001B0 0x000000000000062A 0x00000000000D26D5 0x0000000000000000 ignore
0x00000002 0x00000002 0x00000000 0x00000000000007DA 0x00000000000001F6 0x0000000000000000 0x0000000000000000 ignore
0x00000003 0x80000005 0x00000017 0x00000000000009D0 0x0000000000000050 0x00000000000421AD 0x0000000000001080 zlib
0x00000004 0x00000000 0x00000000 0x0000000000000A20 0x0000000000000080 0x0000000000000000 0x0000000000000000 zero
0x00000005 0x00000002 0x00000000 0x0000000000000AA0 0x0000000000000820 0x0000000000000000 0x0000000000000000 ignore
0x00000006 0x80000005 0x00000067 0x00000000000012C0 0x0000000000000800 0x000000000004322D 0x000000000004B59E zlib
0x00000007 0x80000005 0x00000053 0x0000000000001AC0 0x0000000000000800 0x000000000008E7CB 0x0000000000043F0A zlib
0x00000008 0x80000005 0x00000017 0x00000000000022C0 0x0000000000000560 0x00000000000002B0 0x0000000000040AB4 zlib
0x00000009 0x00000002 0x00000017 0x0000000000002820 0x0000000000000006 0x0000000000040D64 0x0000000000000000 ignore
0x0000000A 0x80000005 0x00000017 0x0000000000002826 0x0000000000000001 0x0000000000040D64 0x0000000000000086 zlib
0x0000000B 0x00000002 0x00000017 0x0000000000002827 0x0000000000000001 0x0000000000040DEA 0x0000000000000000 ignore
0x0000000C 0xFFFFFFFF 0x00000000 0x0000000000002828 0x0000000000000000 0x0000000000000000 0x0000000000000000 terminator
I'll leave the further debugging as an exercise for you, I couldn't quickly figure out what the second 512-byte block is used for (the first 512-byte block looks like a msdos-style partition table, the second one has this signature below, the big one is mentioned above, others are all zeroes):
$ 2>/dev/null dd if=SDL2-2.0.4.img bs=512 skip=1 count=1 | xxd -a
00000000: 0053 4648 0000 aa11 aa11 0030 6543 ecac .SFH.......0eC..
00000010: 28a5 c845 c0dd 924d 8840 7dd0 1002 0a6d (..E...M.@}....m
00000020: 2800 0000 0000 0000 4f28 0000 0000 0000 (.......O(......
00000030: 0000 0000 0000 0000 6400 6900 7300 6b00 ........d.i.s.k.
00000040: 2000 6900 6d00 6100 6700 6500 0000 0000 .i.m.a.g.e.....
00000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
*
000001f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
from dmg2img.
zlib compression works fine, closing. If not, please re-open!
from dmg2img.
Related Issues (15)
- fatal: can't handle xcode314_2809_developerdvd.dmg HOT 14
- A Segmentation fault in adc.c:66
- A Segmentation fault in dmg2img.h:188 HOT 1
- A Segmentation fault in adc.c:41
- A Segmentation fault in adc.c:46
- A heap overflow in base64.c:86
- LZFSE does not work on large dmg files -> consider bringing another working implementation upstream?
- A heap overflow in dmg2img.h:84
- interest for a cross-platform cmake build (including lzfse, asan etc.)
- Doesn't compile against openssl-1.1 HOT 2
- Does not work on x64 systems HOT 4
- How do you convert a dmg file that is split? HOT 4
- A Segmentation fault in dmg2img.c:237
- A Segmentation fault in dmg2img.c:284 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dmg2img.