GithubHelp home page GithubHelp logo

Comments (2)

Lekensteyn avatar Lekensteyn commented on September 26, 2024

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.

Lekensteyn avatar Lekensteyn commented on September 26, 2024

zlib compression works fine, closing. If not, please re-open!

from dmg2img.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.