ã¯ããã«
ã¢ãŒã±ãŒããã·ã³ã«ã¯äœãããã®ã ãããïŒ ã²ãŒã ã®éçºã«ã©ã®OSãã©ã®ãã¯ãããžãŒã䜿çšãããŠããŸããïŒ ã³ããŒããã³å€æŽããã©ã®ããã«ä¿è·ãããŠããŸããïŒ ã¯ãã®å Žåããã®ãããã¯ãžããããã
å éš
ããã§ã¯ããã·ã³ã®äžã«ã¯äœããããŸããïŒ
- PIUIOããã³JAMMAããŒããæèŒããéåžžã®x86ã³ã³ãã¥ãŒã¿ãŒ
- ã¢ã³ããã¯ãã¹ãªãŒããŒãã€ã³ã©ã€ã¶ãŒ
- LEDããã«
- ãã¿ã³ãTESTãããSERVICEããããã³ã€ã³ã©ã€ã¶ãŒãããåããã³ã³ãããŒã«ããã«
- LCDãŸãã¯CRTç»é¢
ãã¡ãããç§ãã¡ã¯äž»ã«ã³ã³ãã¥ãŒã¿ãŒã«èå³ããããŸãã
ã³ã³ãã¥ãŒã¿ãŒã®ææ°ããŒãžã§ã³ã®å éšã«ã¯ããã€ãã®æ¹èšçããããŸãã
ãã¶ãŒããŒã ïŒGigabyte GA-945GCM-S2L / Asrock G41M-S3
ã°ã©ãã£ãã¯ã¹ ïŒGeforce 8400GS / Geforce 9300GS
ã¡ã¢ãª ïŒDDR2 / DDR3 512 MB
ããã»ããµãŒ ïŒIntel Celeron
ã²ãŒã èªäœã¯ããŒããã©ã€ãã«ãããŸãã SafeNet MicroDog USBãã³ã°ã«ãå«ãŸããŠããŸãã
ãªãµãŒã
ã©ãããå§ããŸããïŒ åœç¶ãããŒããã©ã€ããã³ããåé€ããŸãã ããã¯Linuxã§1ã€ã®ã³ãã³ãã§å®è¡ãããŸãã
dd if=/dev/sdX of=./dump.bin bs=1M
ãè¶ã飲ã¿ã«è¡ããŸã çŽ10ã15åããããŸãã ãŠã£ã³ãã§ã¹ã¿ãŒã¯ã160ã®ã¬ãã€ããš250ã®ã¬ãã€ãã§äœ¿çšãããŸãã
å®è¡äžã®ããŒããã©ã€ãã§äœãããªãã§ãã ããïŒ åžžã«ç»åã䜿çšããå¿ èŠããããŸãïŒ
ç»åãæ®åœ±ãããŸãã cfdiskãå®è¡ããŠã¿ãŸãããã
äœãèŠããŸããïŒ ext2ãã¡ã€ã«ã·ã¹ãã ãåãã2ã€ã®ããŒãã£ã·ã§ã³ãšããã£ã¹ã¯ã®å é ã«ããçãããæªå²ãåœãŠé åã ãã¡ã€ã«ã·ã¹ãã ã¯ããã«ãUNIXã®ãããªãã®ãå éšã«ãããšããèãã«ã€ãªãããŸãããã¡ãããLinuxã§ããå¯èœæ§ãé«ãã§ãã
ä»®æ³ãã·ã³ã§å®è¡ããŠã¿ãŸãããã ç§ã¯qemuã倧奜ããªã®ã§ã䜿çšããŠããŸãã
ãããŠãã以äžã 次ã«ã次ã®ãããªãšã©ãŒã§qemuã倱æããŸãã
qemu: fatal: Trying to execute code outside RAM or ROM at 0xa5ff00d8
ãã ããªãŒãºããŸãã æ£çŽãªãšããããã®ã²ãŒã ã«ã¯ããŒããã©ã€ããžã®ãã€ã³ããããããšãç¥ã£ãŠãããããã¢ã«ãŽãªãºã ã¯éåžžã«ã·ã³ãã«ã§ãããããŒã¿ã®æŽåæ§ãã§ãã¯ã䜿çšããã埩å·åãããããŒã¿ãããã³ä»®æ³ãã·ã³ã®å Žåã¯ãŽãã«å¶åŸ¡ãããã«è»¢éããããšãæããã«ãªããŸããã
ããã«ãç§ã¯ãããã€ãã®çºèŠãåŸ ã€ã®ã§ã¯ãªããèå³ã®ããã«ãext2ãã¡ã€ã«ã·ã¹ãã ã§ãããã®2ã€ã®ã»ã¯ã·ã§ã³ã«ãããã®ãèŠãããšã«ããŸããã ãããŠãããã«äœããããŸãïŒ
1 âââ [4.0K] game â âââ [ 25G] _00000.BIN âââ [4.3M] i âââ [ 16K] lost+found âââ [ 0] n âââ [8.5M] p âââ [7.8M] u âââ [ 22M] x game/_00000.BIN: data i: data n: empty p: data u: data x: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped 2: âââ [ 16K] lost+found âââ [144K] PIUFESTAEX.INI
ããŠãã»ã¯ã·ã§ã³1ã®ãxããã¡ã€ã«ãé€ããã¹ãŠã®ããŒã¿ã¯ãéåžžã®ããŒã¿ã§ããããæå·åãããŠããŸãã ã©ããããããããã®ãã¹ããéç«ã£ãŠãããxãã¯1ã€ã ãã§ããããã¯å ±æã©ã€ãã©ãªã§ãããããããã²ãŒã ã«ãã£ãŠèªã¿èŸŒãŸããŸãïŒå®éã«ã¯ããã§ã¯ãããŸããïŒã
次ã¯ïŒ ãŸãã圌ãã¯ããŒããã©ã€ãèªäœã«ç»ããŸããã
00000000 fa 33 c0 8e d0 bc 00 7c 8b f4 50 07 50 1f fb fc |.3.....|..PP..| 00000010 bf 00 06 b9 00 01 f3 a5 ea 1d 06 00 00 b6 00 b9 |................| 00000020 02 00 bf 05 00 bb 00 07 b8 01 02 57 cd 13 5f 73 |...........W.._s| 00000030 0c 33 c0 cd 13 4f 75 ed be 8a 06 eb 3b b9 03 00 |.3...Ou.....;...| 00000040 bf 05 00 bb 00 20 53 07 bb 00 00 b8 20 02 57 cd |..... S..... .W.| 00000050 13 5f 73 0c 33 c0 cd 13 4f 75 e8 be 8a 06 eb 18 |._s.3...Ou......| 00000060 b9 ff 3f be 00 08 33 ff ad 83 e6 bf 26 33 05 ab |..?...3.....&3..| 00000070 49 75 f5 ea 00 00 00 20 ac 3c 00 74 0b 56 bb 07 |Iu..... .<.tV.| 00000080 00 b4 0e cd 10 5e eb f0 eb fe 44 69 73 6b 20 49 |.....^....Disk I| 00000090 2f 4f 20 45 72 72 6f 72 00 00 00 00 00 00 00 00 |/O Error........| 000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000180 28 43 29 32 30 30 34 20 41 4e 44 41 4d 49 52 4f |(C)2004 XXXXXXXX| 00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001b0 00 00 00 00 00 00 00 00 9b f6 31 c9 00 00 00 00 |..........1.....| 000001c0 41 8f 83 fe ff ff cf ce 61 00 b1 a1 a9 03 00 fe |A.......a.......| 000001d0 ff ff 83 fe ff ff 6f 56 36 04 80 60 1f 00 00 00 |......oV6..`....| 000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.| 00000200 50 75 6d 70 20 49 74 20 55 70 3a 20 46 69 65 73 |Xxxx Xx Xx: Xxxx| 00000210 74 61 45 78 00 00 00 00 00 00 00 00 00 00 00 00 |xxXx............| 00000220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000300 20 20 20 20 20 20 20 20 20 20 20 20 36 56 4d 51 | 6VMQ| 00000310 57 54 34 37 43 43 34 36 20 20 20 20 53 54 33 31 |WT47CC46 ST31| 00000320 36 30 33 31 38 41 53 20 20 20 20 20 20 20 20 20 |60318AS | 00000330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000400 0e a8 36 bd 22 ac ea 0e a9 36 bb 22 82 66 80 70 |..6."....6.".fp| 00000410 dc 7a 36 37 c8 5d 18 36 ae fa 83 3a 74 d8 35 29 |.z67.].6...:t.5)| 00000420 11 b9 2d 25 1f c8 7d 10 07 c8 7d 21 81 34 07 ae |..-%..}...}!.4..| ...
ïŒãXãã®ä»£ããã«ã補é å ã®ååãšã²ãŒã ã®ååããããŸããããããã®ããŒã¿ã§ãã®ãããã¯ãã°ãŒã°ã«ã«ãªããªãããã«ãããããåé€ããŸãããå¿ èŠã«å¿ããŠãHEXããŒã¿ãå€æŽããŸããã§ãããïŒ
ããã¯äœã§ãã 説æããŸãã
0-1BEã§ã¯ãMBRããŒãããŒããŒãé 眮ãããŸããããã¯ã400ããå§ãŸãæåã®ãã£ã¹ã¯ããstage2ããŒãããŒããŒãããŒãããæãåçŽãªãã®ã§ããæãèå³æ·±ãè¡ã¯300-32Fã«ãããããŒããã©ã€ãããã¡ãŒã ãŠã§ã¢ããŒãžã§ã³ãããã³ã¢ãã«ã®ã·ãªã¢ã«çªå·ã«éåžžã«äŒŒãŠããŸãã ããããæšæž¬ã§ããããšã¯äœã§ãã;ïŒ
説æ | ããŒã¿ |
ã·ãªã¢ã«çªå·ïŒ20ãã€ãïŒ | ïŒ12ã¹ããŒã¹ïŒ6VMQWT47 |
ãã¡ãŒã ãŠã§ã¢ããŒãžã§ã³ïŒ8ãã€ãïŒ | CC46ïŒ4ã¹ããŒã¹ïŒ |
ã¢ãã«åïŒ40ãã€ãïŒ | ST3160318ASïŒ29ã¹ããŒã¹ïŒ |
valdikss@valaptop:~/ % DRIVE_SERIAL=" 6VMQWT47" DRIVE_VERSION="CC46 " DRIVE_MODEL="ST3160318AS" qemu-system-i386 disk.img -monitor stdio QEMU 1.4.1 monitor - type 'help' for more information (qemu) dump-guest-memory mem.bin (qemu) quit
ããŒã¿åŸ©å·åã®æ£ç¢ºããçŽç²ã«èŠèŠçã«å€æããããšãã§ããŸãããã«ãŒãã«ãæ£åžžã«ã¢ã³ããã¯ãããŠèµ·åãããå ŽåãçŸæç¹ã§ã«ãŒãœã«ãç»é¢ã«è¡šç€ºããããã¡ã€ã«ã·ã¹ãã ãæ£ããã¢ã³ããã¯ãããå Žåãä»®æ³ãã·ã³ã®ç»é¢ãç¹æ» ããXãèµ·åããããšããŸã
LinuxoidãšããŠãç§ã¯ããã«Alt + FNã®çµã¿åããã䜿çšããŠå¥ã®ã³ã³ãœãŒã«ã«åãæ¿ããããšããŸããããæåããŸããã2çªç®ã®ã³ã³ãœãŒã«ã§XåºåããããŸããã
qemuã®ç»åã¯æ£åžžã«èµ·åãããŸãããããã§ã«è¯å¥œã§ãã次ã¯äœã§ããïŒ ãã¡ã€ã«ã·ã¹ãã ãååŸããå¿ èŠããããŸãã 確ãã«ãinitrdãŸãã¯initramfsã«ã¯ã«ãŒãã«ãããŒããããŸããã«ãŒãã«ã«ã¯ãå¿ èŠãªãã¹ãŠã®ãã¡ã€ã«ãé 眮ãããŠããããrootfsã埩å·åããŠæ¥ç¶ããŸãã ã©ãããïŒ ã¡ã¢ãªãã³ãã«æ»ãããã°ãããBinWalkãŠãŒãã£ãªãã£ã䜿çšããŠèª¬æããŸãã
DECIMAL HEX DESCRIPTION ------------------------------------------------------------------------------------------------------------------- 0 0x0 ELF 32-bit LSB core file Intel 80386, version 1 (SYSV) 141888 0x22A40 Copyright string: " 1999-2003 XXXXXXXXxxx" 1649782 0x192C76 CramFS filesystem, little endian size 279239 CRC 0x42c70000, edition 20, 141723904 blocks, 1589959 files 3848752 0x3ABA30 CramFS filesystem, little endian size 4947968 version #2 sorted_dirs CRC 0x9c99ddde, edition 0, 2433 blocks, 235 files 17648271 0x10D4A8F mcrypt 2.2 encrypted data, algorithm: blowfish-448, mode: CBC, keymode: 8bit 17752783 0x10EE2CF mcrypt 2.2 encrypted data, algorithm: blowfish-448, mode: CBC, keymode: 8bit 17773455 0x10F338F mcrypt 2.2 encrypted data, algorithm: blowfish-448, mode: CBC, keymode: 8bit 17966760 0x11226A8 Copyright string: " (C) 1996-2009 the UPX Team. All Rights Reserved. $l Rights Reserved. $" 18179243 0x11564AB Copyright string: " (C) 2009 Free Software Foundation, Inc.ion, Inc." 18236316 0x116439C ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV) 18261064 0x116A448 LZMA compressed data, properties: 0xBD, dictionary size: 16777216 bytes, uncompressed size: 33554432 bytes 18261104 0x116A470 LZMA compressed data, properties: 0xB8, dictionary size: 16777216 bytes, uncompressed size: 33554432 bytes 21033884 0x140F39C ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV) 21061669 0x1416025 ELF 32-bit LSB no file type, no machine, (GNU/Linux) 21088103 0x141C767 ELF 21152544 0x142C320 LZMA compressed data, properties: 0x6C, dictionary size: 16777216 bytes, uncompressed size: 838860800 bytes 21435292 0x147139C ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV) 21525404 0x148739C ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV) 21537692 0x148A39C ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV) 21554076 0x148E39C ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV) 21615281 0x149D2B1 Copyright string: " (C) 2006 Free Software Foundation, Inc.ion, Inc." 21672860 0x14AB39C ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV) 21926836 0x14E93B4 ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV) 110031566 0x68EF2CE gzip compressed data, was "cursor.pcf", from Unix, last modified: Fri Feb 13 07:15:31 2004 116417852 0x6F0653C CramFS filesystem, little endian size 4947968 version #2 CRC 0x86f06160, edition 16777216, 18 blocks, 0 files 121710143 0x741263F LZMA compressed data, properties: 0x87, dictionary size: 1048576 bytes, uncompressed size: 256 bytes 121721756 0x741539C ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV) 122005647 0x745A88F LZMA compressed data, properties: 0x87, dictionary size: 1048576 bytes, uncompressed size: 256 bytes 122594740 0x74EA5B4 LZMA compressed data, properties: 0x7E, dictionary size: 16777216 bytes, uncompressed size: 33554432 bytes 122614684 0x74EF39C CramFS filesystem, little endian size 4947968 version #2 sorted_dirs CRC 0x9c99ddde, edition 0, 2433 blocks, 235 files 129803164 0x7BCA39C CramFS filesystem, little endian size 4947968 version #2 sorted_dirs CRC 0x9c99ddde, edition 0, 2433 blocks, 235 files
ããããããããããŸãïŒ
å®éããã¹ãŠã®LZMAå¿çã¯åœã§ãã 圌ã¯éæ³ã®æ°ãæã£ãŠããŸãããELFã®ååãåœç©ã§ãã ãã ãã235åã®ãã¡ã€ã«ãå«ãCramFSã¯å®éã®ãã¡ã€ã«ãšéåžžã«ãã䌌ãŠãããé«ã確çã§initrdãšããŠäœ¿çšãããŸãã
ã¡ã¢ãªããæ£ããCramFSãååŸããã®ã¯ç°¡åã§ãã CramFSããã¡ã€ã«åœ¢åŒã§ããŒããã©ã€ãã«ä¿åãããããã¢ã³ããã¯ãè©Šã¿ãŸãã firmware-mod-kitããã±ãŒãžã®cramfs-2.0ã䜿çšããŸããã
valdikss@valaptop:~/ % cramfsck -x root cram1.bin cramfsck: crc error
ããŠãããªãã¯äœãæåŸ ããŸãããïŒ ãã¹ãŠããšãŠãã·ã³ãã«ã ãšæããŸãããïŒ
cramfsckã§ãã§ãã¯ãµã ãã§ãã¯ã«ããããåœãŠããšããã¡ã€ã«ã·ã¹ãã ããæ£åžžã«ã解åã§ããŸãã
ãã¡ã€ã«ã·ã¹ãã ããªãŒ
âââ [4.0K] bin â âââ [ 7] ash -> busybox â âââ [130K] busybox â âââ [ 7] cat -> busybox â âââ [ 7] chmod -> busybox â âââ [ 7] cp -> busybox â âââ [ 7] df -> busybox â âââ [ 7] dnsdomainname -> busybox â âââ [ 7] echo -> busybox â âââ [ 7] false -> busybox â âââ [ 7] hostname -> busybox â âââ [ 7] kill -> busybox â âââ [ 7] ln -> busybox â âââ [ 7] ls -> busybox â âââ [ 7] mkdir -> busybox â âââ [ 7] mknod -> busybox â âââ [ 7] mount -> busybox â âââ [ 7] mv -> busybox â âââ [ 7] netstat -> busybox â âââ [ 7] ping -> busybox â âââ [ 7] ps -> busybox â âââ [ 7] pwd -> busybox â âââ [ 7] rm -> busybox â âââ [ 7] sh -> busybox â âââ [ 7] sleep -> busybox â âââ [ 7] sync -> busybox â âââ [ 7] true -> busybox â âââ [ 7] umount -> busybox â âââ [ 7] uname -> busybox â âââ [ 7] vi -> busybox âââ [4.0K] dev â âââ [ 0] console â âââ [ 0] null â âââ [ 0] tty1 â âââ [ 0] tty2 âââ [4.0K] etc â âââ [4.0K] init.d â â âââ [ 90] mnttab â â âââ [ 754] once â â âââ [ 412] rcS â â âââ [ 244] run â âââ [ 151] inittab â âââ [4.0K] X11 â âââ [ 23] xorg.conf -> /usr/lib/xorg/xorg.conf âââ [4.0K] lib â âââ [111K] ld-2.10.1.so â âââ [ 12] ld-linux.so.2 -> ld-2.10.1.so ... â âââ [ 78K] libz.so.1.2.3 â âââ [4.0K] modules â âââ [ 25K] atkbd.ko âââ [4.0K] mnt â âââ [4.0K] 0 â â âââ [ 0] invalid â âââ [4.0K] 1 â â âââ [ 0] invalid â âââ [4.0K] hd âââ [1.1M] piu âââ [4.0K] proc âââ [4.0K] sbin â âââ [ 14] halt -> ../bin/busybox â âââ [ 14] ifconfig -> ../bin/busybox â âââ [ 14] init -> ../bin/busybox â âââ [ 14] insmod -> ../bin/busybox â âââ [ 14] lsmod -> ../bin/busybox â âââ [ 14] mdev -> ../bin/busybox â âââ [ 14] poweroff -> ../bin/busybox â âââ [ 14] reboot -> ../bin/busybox â âââ [ 14] route -> ../bin/busybox âââ [4.0K] SETTINGS âââ [4.0K] sys âââ [ 4] tmp -> /var âââ [4.0K] usr â âââ [4.0K] bin â â âââ [ 18K] amixer â â âââ [ 17] du -> ../../bin/busybox â â âââ [ 17] env -> ../../bin/busybox â â âââ [ 17] free -> ../../bin/busybox â â âââ [ 17] less -> ../../bin/busybox â â âââ [4.4K] mountrd â â âââ [4.6K] mount_tab â â âââ [ 17] telnet -> ../../bin/busybox â â âââ [ 25K] usbdaemon â â âââ [ 4] X -> Xorg â â âââ [ 14K] xinit â â âââ [1.7M] Xorg â âââ [4.0K] lib â âââ [4.0K] sbin â â âââ [ 17] setlogcons -> ../../bin/busybox â âââ [4.0K] share â â âââ [4.0K] alsa â â â âââ [8.8K] alsa.conf â â â âââ [4.0K] cards â â â â âââ [ 669] AACI.conf â â â â âââ [ 687] aliases.alisp â... â â â â âââ [ 839] VXPocket.conf â â â â âââ [1.3K] YMF744.conf â â â âââ [4.0K] init â â â â âââ [1.8K] 00main â â â â âââ [6.9K] default â â â â âââ [1.4K] hda â â â â âââ [ 391] help â â â â âââ [ 932] info â â â â âââ [ 11K] test â â â âââ [4.0K] pcm â â â âââ [ 805] center_lfe.conf ... â â â âââ [ 978] surround71.conf â â âââ [4.0K] X11 â â âââ [4.0K] xkb â â âââ [4.0K] compiled â â â âââ [ 11K] server.xkm â â âââ [4.0K] rules â â âââ [ 34K] base â â âââ [ 31K] evdev â â âââ [ 4] xorg -> base â âââ [ 4] var -> /var âââ [4.0K] var
ããã ãã§ãã /etc/init.d/runã®ãããªããã¹ããã¡ã€ã«ã¯æ£åžžãªããã§ãã ãã ããå®è¡å¯èœãã¡ã€ã«ãšã©ã€ãã©ãªã¯èµ·åãããŸããã æåã¯ãã²ãŒã ã¯ä¿®æ£ãããã«ãŒãã«ãŸãã¯ä¿®æ£ãããlibcã®ããããã䜿çšãããšèããŸããã å®è¡å¯èœãã¡ã€ã«ã«ããããé©çšããhello worldãšã©ã®çšåºŠç°ãªããã芳å¯ããŸããã ãããã¯ãã¹ãŠã ã»ã°ã¡ã³ããŒã·ã§ã³ãã©ãŒã«ãã§çµäºããããããã«æªãããšã«ã éæ³ãªããŒããŠã§ã¢åœä»€ã§çµäºããŸãã
åç §ãhello worldããã³ã³ãã€ã«ããŸããããªããªã æåãã__libc_start_mainãåŒã³åºããŠãã©ããééã£ãæ¹åã«é£ãã§ããŸããŸããã ãããã圌ã¯åããã¯ã§çœªãç¯ããããªããªã ããã€ãã¯ãã®ãŸãŸã§beatãããããããä¿®æ£ãå«ãŸããŠãããšç€ºåããŸããããããããåããã¯ãç·šéããåŸãã²ãŒã ã¯éå§ããããšããŸããããããã§ã¯ãããŸããã§ããã çŽ3æ¥éèããŸããã ç§ã¯ãå®è¡å¯èœãã¡ã€ã«ãäœããã®åœ¢ã§CramFSãç Žããããã¹ããã¡ã€ã«ã¯å ã®åœ¢åŒã®ãŸãŸã§ãããšããçµè«ã«éããŸããã ãããŠåœŒã¯æ£ããã£ãïŒ
/etc/init.d/run
echo run export __GL_SYNC_TO_VBLANK=1 export force_s3tc_enable=true export LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/hd/lib cd /mnt/hd/game xinit /piu /mnt/hd/game/ -- -br -quiet -logverbose 0 -verbose 0 -depth 24 -audit 0 -bs -tst -xinerama #/bin/sh
/etc/init.d/once
until /usr/bin/mount_tab /etc/init.d/mnttab; do sleep 1; done /usr/bin/mountrd insmod /usr/lib/modules/nvidia.ko insmod /usr/lib/modules/drm.ko insmod /usr/lib/modules/fb.ko insmod /usr/lib/modules/font.ko insmod /usr/lib/modules/softcursor.ko insmod /usr/lib/modules/bitblit.ko insmod /usr/lib/modules/fbcon.ko insmod /usr/lib/modules/drm_kms_helper.ko insmod /usr/lib/modules/cfbcopyarea.ko insmod /usr/lib/modules/cfbimgblt.ko insmod /usr/lib/modules/cfbfillrect.ko insmod /usr/lib/modules/i915.ko mkdir /dev/dri ln -s /dev/card0 /dev/dri/card0 /usr/bin/usbdaemon amixer set Master 80% unmute amixer set PCM 75% unmute amixer set Front 90% unmute insmod /lib/modules/atkbd.ko
/etc/init.d/run
setlogcons 2 mount -n -t tmpfs -o size=128k var /var mkdir /var/log mkdir /var/run mkdir /var/run/microdog mount -t sysfs sysfs /sys mount -t proc proc /proc mount -t usbfs none /proc/bus/usb mount -t tmpfs mdev /dev mkdir /dev/pts mount -t devpts devpts /dev/pts echo /sbin/mdev > /proc/sys/kernel/hotplug mdev -s mkdir /dev/snd cp -a /dev/controlC* /dev/snd cp -a /dev/pcmC* /dev/snd cp -a /dev/timer /dev/snd
ãªããªã å ã®CramFSãæå ã«æã£ãŠããŠãAlt + F2ãæŒãã ãã§ä»®æ³ãã·ã³ã®OSã³ã³ãœãŒã«ã«ã¢ã¯ã»ã¹ã§ããããšãæãåºããŠãå ã®/etc/init.d/runã眮ãæããxinitåŒã³åºãã/ bin / shã«çœ®ãæããŠã¿ãããšã«ããŸããã ããããå€æŽãããCramFSãäœããã®æ¹æ³ã§ã€ã¡ãŒãžã«ããã·ã¥ããå¿ èŠããããŸãã ããŒããã©ã€ãã®ã€ã¡ãŒãžã§ãCompressed RamFSããšããè¡ãæ¢ããŠãæå·åãããŠããªãããšã«å°ãé©ããŸããã ãã¡ãããããã ãã§ã¯ãªãããããã£ã³ã°ãã«ãã£ãŠãããŒããã©ã€ãäžã®ãã¡ã€ã«å šäœã32KBã®ããŒã¿ã®ãããã¯ãš512ãã€ãã®voidã«åå²ãããŸãã ãŸããããã¯åé¡ãªãããã§ãïŒ
ããŸããŸ/etc/init.d/runã ãã§ãªã/etc/init.d/onceãå€æŽããŠãmount_tabãmountrdãããã³usbdaemonã®åŒã³åºããã³ã¡ã³ãã¢ãŠãããåŒã³åºãã®ã«ãŒãã«æ³šæãæã£ãŠããŸããã§ããmount_tabã
ããã§ã/ etc / init.d / runãç·šéããCramFSãã¢ã»ã³ãã«ããã€ã¡ãŒãžã«æžã蟌ã¿ãŸããã ããŠãå ã®/etc/init.d/runã§FSãåéãããã¡ã€ã«ã®éããæ¢ãå§ããŸããã çµå±ã®ãšããããããã®å€ãããã£ãã®ã§ãç§ã¯åé¡ãäœã§ããããç解ããããšé·ãéè©Šã¿ãŸããããfirmware-mod-kitã®cramfs-2.0ã¯å°ãç°ãªãåéãããããšãããããŸããã ããŠããªããžããªããéåžžã®cramfs-toolsãããŠã³ããŒãããŠåéããŸããããçªç¶ããã§ãã¯ãµã ã«å ããŠããã¡ã€ã«ã®æåŸã®ãã€ããç°ãªãããšãããããŸããã å ã®ãã¡ã€ã«ã«ã¯0x80ãããããã¡ããåéãããã¡ã€ã«ã«ã¯0x00ããããŸãã ãã®ç¶æ³ã«é©ããŠã圌ã¯èªåã®ãã¡ã€ã«ã®æåŸã®ãã€ãã眮ãæããããŒããã©ã€ããšURAã®ã€ã¡ãŒãžã«å ¥ããŸããïŒ ã€ã¡ãŒãžã¯ä¿®æ£ãããFSããå§ãŸããã³ã³ãœãŒã«ãååŸããŸããã ãã¡ã€ã«ãã³ããŒããŠãè€éãã¯çºçãããã¹ã¿ãŒãã¢ãããã¡ã€ã«ã¯å®éã«Linuxã·ã¹ãã ã§å®è¡ãããŸããããã®ã¹ãããã§ãå®éã«CramFSãå®è¡å¯èœãã¡ã€ã«ãå ·äœçã«å€æŽããããšã«æ°ä»ããŸããã
IDA PROã®mount_tabãmountrdãããã³usbdaemonããã£ãšèŠãŠã¿ããšããã®æç¹ã§mount_tabããã¡ã€ã«ã·ã¹ãã ãé©åãªå ŽæïŒããŒããã©ã€ãäžã®2ã€ã®ããŒãã£ã·ã§ã³ã/ mnt / gameã®2ã€ã®ããŒãã£ã·ã§ã³ã/ SETTINGSã®2çªç®ã®ããŒãã£ã·ã§ã³ïŒãmountrd AGPããã³PCIãã¹ãã¹ãã£ã³ãã埩å·åããŠã¡ã¢ãªã«ããŒãããæåã®ã»ã¯ã·ã§ã³ã«ãããã¡ã€ã«ãpãããiããŸãã¯ãuãã®1ã€ã/ usr / libã«ããŠã³ãããŸããããã«ã¯ãããªã«ãŒãã®ãã©ã€ããŒãå«ãŸããusbdaemonã¯USBã§ã®äœæ¥ãæäŸããŸãUNIXãœã±ããçµç±ã®ãã³ã°ã«ã
åœãã®åã³
ç§ã¯åº§ã£ãŠãã²ãŒã ã®èµ·åãã¡ã€ã«ã調ã¹ãŠããŸããããããã³ããŒããŠåãåºããã®ã§ãçããå¿ã³èŸŒã¿å§ããŸããã ã©ããããããããã§ã¯ãªããç§ãæ¢æ±ããŠããã²ãŒã ã®ããŒãžã§ã³ã«ã€ããŠã®èšåã¯ãªããäžè¬çã«ãäœããã®åœ¢ã§äœããæ£ãããããŸããã ãã®ãã¡ã€ã«ã¯ã²ãŒã ã®ç°ãªãããŒãžã§ã³ã«å±ããŠããããšãèªèããæããã«ãUSBãã³ã°ã«ããã§ãã¯ããåŸã圌ã¯ã©ããããå¥ã®ãã¡ã€ã«ãååŸããŠåŸ©å·åãããšä»®å®ããŸããã ãã¹ãŠããã£ãšé¢çœããªããŸããã
mount_tabãåŒã³åºããšãã®ã«ãŒããèŠããŠããŸããïŒ æåã®èµ·åã§ã¯ããã¡ã€ã«ã·ã¹ãã ãå®éã«ããŠã³ãããŸããã次ã®èµ·åã§ã¯ãæåã®ãªãã»ããã®ããããŒã«å¿ããŠããªãã»ãã0x1F80200ãŸãã¯0x2080200ããäžå®éã®ããŒã¿ãããŒããã©ã€ãããèªã¿åãããã®ããŒã¿ã埩å·åããCramFSã²ãŒã ã®èµ·åãã¡ã€ã«ãçŽæ¥çœ®ãæããŸãæ£ãããã®ã ç§ã¯ãã®åããæ¬åœã«å¥œãã§ããïŒ ç§ã¯æ¿æããŸããããåæã«éçºè ã®æ©ç¥ã«èªããæã£ãŠããŸãã
ãããã«
èšäºã¯ããããããããã«ãªã£ãŠãããç§ã®èããæšæž¬ã芳å¯ããæãç«ã£ãŠããŸãã èªãããšãé¢çœãã£ããšæããŸãã ããŒã2ã¯çŽç²ã«æè¡çãªãã®ã§ãã²ãŒã ã®ãã¡ã€ã«ã·ã¹ãã ã®è§£æãšUSBãã³ã°ã«ããã®ã²ãŒã ã®è§£é€ãå«ãŸããå¯èœæ§ããããŸãã
æåŸã«ãããªãã芧ãã ããã
ãžã®ãæšæ¶
ãããã°ãŒã°ã«ããªãããã«ã³ã¡ã³ãã«ã²ãŒã ã®ååãæžããªãã§ãã ããã ãããããé¡ãããŸãïŒ