LINUX.ORG.RU

Хитрый эльф

 , , , ,


0

2

Есть такой проект GRUB4DOS. В архиве для установки предлагается исполняемый файл bootlace.com. Вся соль в том, что этот бинарник работает на низком уровне с MBR (загрузочной записью) и одинаково работает в Linux, DOS и Windows. Что это? Как?

$ file bootlace.com 
bootlace.com: ELF 32-bit
Как сделать такой эльф? На чём он написан? Ну не на ASM'е же! Если поможет:
$ hexdump -C bootlace.com | head
00000000  7f 45 4c 46 01 c0 01 c0  90 44 90 4e 90 90 eb 24  |.ELF.....D.N...$|
00000010  02 00 03 00 01 00 00 00  00 aa 04 08 50 28 00 00  |............P(..|
00000020  1c 90 00 00 00 00 00 00  34 00 20 00 01 00 28 00  |........4. ...(.|
00000030  05 00 04 00 eb 11 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00 66  bf 51 29 00 00 b9 0a 00  |.......f.Q).....|
00000050  b4 0b 51 66 57 cd 21 66  5f 59 84 c0 75 04 e1 f0  |..QfW.!f_Y..u...|
00000060  eb 3b b4 07 66 57 cd 21  66 5f 3c 0d 75 02 b0 20  |.;..fW.!f_<.u.. |
00000070  3c 0c 75 02 b0 20 3c 0a  75 02 b0 20 3c 09 75 02  |<.u.. <.u.. <.u.|
00000080  b0 20 3c 20 72 17 fc aa  66 81 ff 51 2b 00 00 72  |. < r...f..Q+..r|
00000090  bc 66 31 db 66 b9 fe 51  00 00 e9 97 15 fc b0 20  |.f1.f..Q....... |

★★★★★

Ну не на ASM'е же

задача жава/хаскель онли, ты прав

anonymous
()

grub* не нужен, его кроссвиндозность тоже.

anonymous
()
Ответ на: комментарий от no-dashi

.COM? Ыыыы :-) ORG 100h, свободные 256 байт в заголовке COM-файла :-)

Только в файле этих 256 байт нет. Это просто корректция регистра IP перед тем, как управление передается программе (ну, и коррекция абсолютных ссылок при компиляции).

Kroz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.