Behind the iPod Games: What's inside the ipg files

by Erica Sadun

I'm moving this from the comment thread from the Announcements post because I thought it deserved its own post.

Anonymous asked: Will independent developers be able to program iPod games and submit them to the iTunes Store for sale?

To the best of my googling, there is yet no public iPod software development package. The games are stored, by the way, in the iPod Games folder of your main iTunes folder. They have an .ipg extension.

These .ipg files are actually zipped up. Copy one over to a spare directory, rename it to foo.gz and then unzip it, e.g. unzip foo.gz. (Yeah, I tried gunzipping first but there were multiple entities.)

The actual executable is a ".bin" file. There are iTunesArtwork and iTunesMetaData files in there along with language locatizations, sound files, and a Manifest which lists the files and their sizes and a p7b Manifest that handles Fairplay.

9 Comments

Chris Ridd
2006-09-12 22:55:29
The "p7b" file extension is commonly used for PKCS#7 files, which is a format for holding digitally signed "stuff".


What happens if you try to decode that file using OpenSSL? Something like the following should work in the Terminal:


openssl pkcs7 -inform DER -in filename -text

l0ne
2006-09-12 22:59:07
I want -- no, I REQUIRE a iPod SDK now!
Erica Sadun
2006-09-12 23:03:19
The openssl cmd just created a block of encoded text.


Here are the strings from the file:
Apple Computer, Inc.1-0+
$Apple Computer Certificate Authority1-0+
$Apple FairPlay Certificate Authority0
Apple Computer, Inc.1 0
Apple Computer FairPlay1&0$
Apple Computer, Inc.1-0+
$Apple Computer Certificate Authority1)0'
Apple Root Certificate Authority0
Apple Computer, Inc.1-0+
$Apple Computer Certificate Authority1)0'
Apple Root Certificate Authority0
, op
5https://www.apple.com/certificateauthority/terms.html0
Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, certificate policy and certification practice statements.0D
=0;09
3https://www.apple.com/certificateauthority/root.crl0U
I0G0E
9https://www.apple.com/certificateauthority/casigners.html0
Apple Computer, Inc.1-0+
$Apple Computer Certificate Authority1)0'
Apple Root Certificate Authority0
Apple Computer, Inc.1-0+
$Apple Computer Certificate Authority1-0+
$Apple FairPlay Certificate Authority0
3https://www.apple.com/certificateauthority/root.crl0
Apple Computer, Inc.1-0+
$Apple Computer Certificate Authority1-0+
$Apple FairPlay Certificate Authority


along with my serial number, which was repeated about 6-8 times.

Zack
2006-09-12 23:40:05
What happens when you run the "file" command on the files you decompressed? This may give architecture/format information for the .bin file.
Chris Ridd
2006-09-13 03:24:45
If you use "-print_certs" instead of "-text" does that change anything?


If you run "openssl pkcs7 -help" it lists the other options that might be useful.

Erica Sadun
2006-09-13 06:41:51
Executables:        directory
Minigolf_1_1_2563296.bin: data
Minigolf_1_1_2563296.bin.sinf: data
foo.gz: data
Manifest.plist: XML document text
Manifest.plist.p7b: data
Minigolf.raw.lcd5: MIPSEB-LE MIPS-III ECOFF executable - version 0.0
Resources: directory
a0.m4a: MPEG-4 Advanced Audio Coding file (AAC)
a1.m4a: MPEG-4 Advanced Audio Coding file (AAC)
a2.m4a: MPEG-4 Advanced Audio Coding file (AAC)
c00: data
c00.da: data
c00.de: data
c00.en: data
c00.es: data
c00.fi: data
Erica Sadun
2006-09-13 06:47:09
% openssl pkcs7 -inform DER -print_certs -in *7*
subject=/C=US/O=Apple Computer, Inc./OU=Apple Computer FairPlay/CN=FP.3333AF060622AF0001AF000001
issuer=/C=US/O=Apple Computer, Inc./OU=Apple Computer Certificate Authority/CN=Apple FairPlay Certificate Authority
-----BEGIN CERTIFICATE-----
MIIC4zCCAkygAwIBAgINMzOvBgYirwABrwAAATANBgkqhkiG9w0BAQUFADCBijEL
MAkGA1UEBhMCVVMxHTAbBgNVBAoTFEFwcGxlIENvbXB1dGVyLCBJbmMuMS0wKwYD
VQQLEyRBcHBsZSBDb21wdXRlciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxLTArBgNV
BAMTJEFwcGxlIEZhaXJQbGF5IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNjA2
MjIxOTA4MjVaFw0xMTA2MjExOTA4MjVaMHYxCzAJBgNVBAYTAlVTMR0wGwYDVQQK
ExRBcHBsZSBDb21wdXRlciwgSW5jLjEgMB4GA1UECxMXQXBwbGUgQ29tcHV0ZXIg
RmFpclBsYXkxJjAkBgNVBAMTHUZQLjMzMzNBRjA2MDYyMkFGMDAwMUFGMDAwMDAx
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmmR9PmSOnHrE25AOZuv/ZuuBm
QZr/4wmfowNGByTX1ZEf4sV+eJDkMj9gR0yQm7jPu8QXARz6rz6FhTCpQ3w6azvu
IAudrzjH0zNEhezGEH+2T4XSPEDPy2FmB2UqpNoVT8dpDLTF7AX6UGllXHCxuccw
0OeaAkVXxf4reHEc5QIDAQABo2AwXjAOBgNVHQ8BAf8EBAMCA7gwDAYDVR0TAQH/
BAIwADAdBgNVHQ4EFgQU2fgcHDS8KxD34wvahwVtVaZ+7WcwHwYDVR0jBBgwFoAU
1ptvh7gCAdKmYNkAck0omEzOFCAwDQYJKoZIhvcNAQEFBQADgYEAPFRy14QTwkMh
t2yzc7RpRQEha5BKyCuplpxfy3c6wZ63+50tjV3RfKYmmwXs+aK7OaWrsFkaLJ4M
EXaUBHH9bBCIqL5dTSEQJOO5ILuQK4942DrV0/0NhJ8JIXHxCuixpl2FvU+h1QM8
Nt5cvc99Bw40wvfSwL+ohtU2O3xpW+4=
-----END CERTIFICATE-----


subject=/C=US/O=Apple Computer, Inc./OU=Apple Computer Certificate Authority/CN=Apple Root Certificate Authority
issuer=/C=US/O=Apple Computer, Inc./OU=Apple Computer Certificate Authority/CN=Apple Root Certificate Authority
-----BEGIN CERTIFICATE-----
MIIFujCCBKKgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhjELMAkGA1UEBhMCVVMx
HTAbBgNVBAoTFEFwcGxlIENvbXB1dGVyLCBJbmMuMS0wKwYDVQQLEyRBcHBsZSBD
b21wdXRlciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxKTAnBgNVBAMTIEFwcGxlIFJv
b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA1MDIxMDAwMTgxNFoXDTI1MDIx
MDAwMTgxNFowgYYxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBcHBsZSBDb21wdXRl
ciwgSW5jLjEtMCsGA1UECxMkQXBwbGUgQ29tcHV0ZXIgQ2VydGlmaWNhdGUgQXV0
aG9yaXR5MSkwJwYDVQQDEyBBcHBsZSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOSRqQkfkdseR1DrBe1e
eYQt6zaiV0xV7IsZid75S2z1B6siMALoGD74UAnTf0GomPnRymacJGsR0KO75Bsq
wx+VnnoMpEeLW9QWNzPLxA9NzhRp0ckZcvVdDtV/X5vyJQO6VY9NXQ3xZDUjFUsV
WR2zlPf2nJ7PULrBWFBnjwi0IPfLrCwgb3C2PwEwjLdDzw+dPfMrSSgayP7OtbkO
2V4c1ss9tTqt9A8OAJILsSEWLnTVPA3bYharo3GSR1NVwa8vQbP4++NwzeajTEV+
H0xrUJZBicR0YgsQg0GHM4qBsTBY7FoEMoxos48d3mVz/2deZbxJ2HafMxRloXeU
yS0CAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/
MB0GA1UdDgQWBBQr0GlHlHYJ/vRrjS5ApvdHTX8IXjAfBgNVHSMEGDAWgBQr0GlH
lHYJ/vRrjS5ApvdHTX8IXjCCASkGA1UdIASCASAwggEcMIIBGAYJKoZIhvdjZAUB
MIIBCTBBBggrBgEFBQcCARY1aHR0cHM6Ly93d3cuYXBwbGUuY29tL2NlcnRpZmlj
YXRlYXV0aG9yaXR5L3Rlcm1zLmh0bWwwgcMGCCsGAQUFBwICMIG2GoGzUmVsaWFu
Y2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2Nl
cHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5k
IGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRp
ZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wRAYDVR0fBD0wOzA5oDegNYYz
aHR0cHM6Ly93d3cuYXBwbGUuY29tL2NlcnRpZmljYXRlYXV0aG9yaXR5L3Jvb3Qu
Y3JsMFUGCCsGAQUFBwEBBEkwRzBFBggrBgEFBQcwAoY5aHR0cHM6Ly93d3cuYXBw
bGUuY29tL2NlcnRpZmljYXRlYXV0aG9yaXR5L2Nhc2lnbmVycy5odG1sMA0GCSqG
SIb3DQEBBQUAA4IBAQCd2i0oWC99dgS5BNM+zrdmY06PL9T+S61yvaM5xlJNBZhS
9YlRASR5vhoy9+VEi0tEBzmC1lrKtCBe2a4VXR2MHTK/ODFiSF3H4ZCx+CRA+F9Y
m1FdV53B5f88zHIhbsTp6aF31ywXJsM/65roCwO66bNKcuszCVut5mIxauivL9Wv
Hld2j383LS4CXN1jyfJxuCZA3xWNdUQ/eb3mHZnhQyw+rW++uaT+DjUZUWOxw961
kj5ReAFziqQjyqSI8R5cH0EWLX6VCqrpiUGYGxrdyyC/R14MJsVVNU3GMIuZZxTH
CR+6R8faAQmHJEKVvRNgGQrv6n8Obs3BREM6StXj
-----END CERTIFICATE-----


subject=/C=US/O=Apple Computer, Inc./OU=Apple Computer Certificate Authority/CN=Apple FairPlay Certificate Authority
issuer=/C=US/O=Apple Computer, Inc./OU=Apple Computer Certificate Authority/CN=Apple Root Certificate Authority
-----BEGIN CERTIFICATE-----
MIIDtDCCApygAwIBAgIBDDANBgkqhkiG9w0BAQUFADCBhjELMAkGA1UEBhMCVVMx
HTAbBgNVBAoTFEFwcGxlIENvbXB1dGVyLCBJbmMuMS0wKwYDVQQLEyRBcHBsZSBD
b21wdXRlciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxKTAnBgNVBAMTIEFwcGxlIFJv
b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA1MTEwOTIzMDcwNFoXDTEwMTEw
ODIzMDcwNFowgYoxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBcHBsZSBDb21wdXRl
ciwgSW5jLjEtMCsGA1UECxMkQXBwbGUgQ29tcHV0ZXIgQ2VydGlmaWNhdGUgQXV0
aG9yaXR5MS0wKwYDVQQDEyRBcHBsZSBGYWlyUGxheSBDZXJ0aWZpY2F0ZSBBdXRo
b3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMAg2hCq/78iunrr4h4c
ELHpqYaaYsLJxhcAimq2UyV1sf6Hl3NdnHCoZO54Tsv2sd9umUxY2oHGAx9xA+V/
RUpZGDqSKCc2sl/i9lTz19UhIyUwNwcM8Dg/kR6bL+2+iUy72i8p+vF8+6PS+/u4
Lyxjc8a4Fe9ykf2UEY2LfZ7JAgMBAAGjgaowgacwDgYDVR0PAQH/BAQDAgGGMA8G
A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNabb4e4AgHSpmDZAHJNKJhMzhQgMB8G
A1UdIwQYMBaAFCvQaUeUdgn+9GuNLkCm90dNfwheMEQGA1UdHwQ9MDswOaA3oDWG
M2h0dHBzOi8vd3d3LmFwcGxlLmNvbS9jZXJ0aWZpY2F0ZWF1dGhvcml0eS9yb290
LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAYzrEueHBRtSjrWywssW5rYXAgTVoGo5Z
oNChZEzIu5yuDRt2Eqf33f1dn4gzw6DYpXxSC30cACXvCRjItOHuQcucdsK6HYhe
RepnMl/8bFqSB/tHE+FLEeTkR7eOADkct6Cl/mdHAnqzTug4DUqFQrxPdLWhfaCb
8afZE9HKI6SwIorkz/Fr/Re0vjZA4OMCwssOv5Yt1EDLXrX1nFJZcVJe/BkQneEb
z6W2sXesIE9QpsdnE63+1Nk7XEZo5YN1Kl3QSQcxJWt1bQS1Mw0K6eRYY6EzCHWz
w//PiQ1J/dl5tv50UxT01q48QEP/FPt2TbPvdnV3nyM+NNQve6MCKg==
-----END CERTIFICATE-----

HI
2007-04-14 11:46:36
I bought a game but it won't sinc to my iPod.How can i get it on?
HI
2007-04-14 11:48:00
I bought a game but it won't sinc to my iPod.What should i do?