Previous 199869 Revisions Next

r34849 Wednesday 4th February, 2015 at 14:16:36 UTC by Couriersud
Merge branch 'master' of https://github.com/mamedev/mame.git
[src/mame/drivers]lindbergh.c

trunk/src/mame/drivers/lindbergh.c
r243360r243361
3131The security seems to work in multiple steps.  The information here
3232is a combination of our research and things found on the internet.
3333
34- At boot, the bios unlocks the CF card through an IDE 0x82 command
35  with a currently unknown key.  There is also a hardware heartbeat
36  signal on the IDE bus to avoid hotswapping.
34- At boot, the bios unlocks the CF card through an IDE command.  There
35  is also a hardware heartbeat signal on the IDE bus to avoid
36  hotswapping, and making it hard to dump the card outside of a Lindberg
37  motherboard.
3738
3839- The system boots on the CF which holds a customized Montavista linux.
3940
40- The CF system can either install the game (from the DVD) or start it (on the HD)
41- The CF system can either install the game (from the DVD) or start it
42  (on the HD) through the "/usr/sbin/segaboot" executable in the second
43  partition.
4144
42- The DVD is decrypted (probably on-the-fly with aesloop) using a
43  fixed system key (all the dvd images start identically).
45- The DVD includes an ISO-9660 filesystem at a (game-dependant)
46  offset. It has a handful of files, all encrypted.  Of specific
47  interest and the su[0-3].dat files which are system updates, and the
48  frontend file which handles the setup of all the other files for the
49  game.
4450
4551- The PIC includes an AES-CBC engine and has as data an IV, a key,
4652  some game-specific identification information, and two pre and
r243360r243361
4955  decrypt very large amounts of data through it though, the bandwidth
5056  would be way too low.
5157
52- The HD is probably unlocked by the CF and bootstrap code is
53  decrypted through the PIC.  That code in turn loop-decrypts/mounts all the
54  data needed from the partition (probably /usr, /X11R6 and /home).
58- The CF decrypts the dvd/hd files with a custom crypto system which
59  is keyed by the result of decrypting 16 times 0x00, 16 times 0x01,
60  ..., 16 times 0x0b through the PIC, giving a 176 bytes secondary key.
61  segaboot (in the second partition) and lxdecrypt_hard (in the first
62  partition's initrd) take care of that.
5563
56Currently, we do not have access to the CF image, making it impossible
57to do a complete boot/install.
64- The HD is unlocked by the CF with lxunlock.hdb in the first
65  partition's initrd.  The method varies depending on the HD model.
66  That code is also capable of unlocking the CF (but don't forget
67  the hardware hearbeat there).
5868
5969
6070Lindbergh Game List
r243360r243361
386396   ROM_LOAD("fpr-24370b.ic6", 0x000000, 0x400000, CRC(c3b021a4) SHA1(1b6938a50fe0e4ae813864649eb103838c399ac0)) \
387397\
388398   ROM_REGION32_LE(0x10000, ":pci:01.0:00.0", 0) /* Geforce bios extension (custom for the card) */ \
389   ROM_LOAD("vid_bios.u504", 0x00000, 0x10000, CRC(f78d14d7) SHA1(f129787e487984edd23bf344f2e9500c85052275))
399   ROM_LOAD("vid_bios.u504", 0x00000, 0x10000, CRC(f78d14d7) SHA1(f129787e487984edd23bf344f2e9500c85052275)) \
400   DISK_REGION("cf") \
401   DISK_IMAGE_READONLY("mda-c0004a_revb_lindyellow_v2.4.20_mvl31a_boot_2.01", 0, SHA1(e13da5f827df852e742b594729ee3f933b387410))
402
403
390404ROM_START(lindbios)
391405   LINDBERGH_BIOS
392406ROM_END


Previous 199869 Revisions Next


© 1997-2024 The MAME Team