Всем привет. Купил сей девайс экспериментов ради, т.е. для приобретения нового опыта. Выбор пал на него благодаря вот этой статье: http://www.sans.org/reading-room/whitepapers/testing/exploiting-embedded-devices-34022 Здесь учат обращаться с железками. Мой затык оказался в том самом месте, где надо разобрать прошивку. А точнее - получить ей в виде файловой системы. Дело в том, что в книжице исследуется d-link dir-100 с прошивкой для железа версии A, в то время как такое уже не делают. В наличие есть только версии не ниже D. Как в книжице и написано, скачанная мною прошивка для версии А легко идентифицируется программой binwalk как нечто, хранящееся в сжимающей файловой системе squashfs. Так же легко, как и в книжице, программой firmware-mod-kit это нечто оттуда вынимается в виде юниксовой файловой системы. И вот в чём соль: для прошивок на железо версии D и выше binwalk пишет, что файловая система там WDK 2.0. Информации о ней в инете не нашёл. Вообще. Есть только какая-то виртуальная файловая система WDK.VFS, представленная неким Евгениусом из Румынии. Это всё, что известно Википедии. На сайте этого Евгениуса есть страничка контактов, которая выдаёт ошибку. Впрочем, практически уверен, что этот товарищ тут ни при делах, несмотря на то, что он крутой программер. Знающие, подскажите, чем выковыривать? Прилагаю отчёты binwalk'a: первый, для прошивки на старое железо - полностью отчёт, второй - на купленное пару месяцев назад - только фрагмент . Может binwalk ошибается? Спасибо! root@kalinik:~# binwalk DIR-100A1_FW113EUB01.bix DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 4 0x4 Realtek firmware header, ROME bootloader, image type: RUN, header version: 1, created: 8/15/2010, image size: 1690468 bytes, body checksum: 0x9D, header checksum: 0xF0 9515 0x252B Unix home path string: "/home/release/teresa/100811_DIR100/RealTek865x_062/linux-2.4.x/" 13046 0x32F6 mcrypt 2.2 encrypted data, algorithm: blowfish-256, mode: CBC, keymode: 8bit 646016 0x9DB80 Squashfs filesystem, big endian, version 2.0, size: 1040979 bytes, 528 inodes, blocksize: 65536 bytes, created: Wed Aug 11 11:30:01 2010 root@kalivv/usr# binwalk DIR100D1_FW402WWB03.bin DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 48 0x30 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 1001032 bytes 276992 0x43A00 WDK file system, version 2.0 278464 0x43FC0 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 75341 bytes И далее - полсотни строк типа LZMA compressed data и несколько JPEG
Так и не верю, а то бы спросил, чем распаковать WDK. Вобщем легче с правилом №1 не стало. Наверное должно быть правило №2?
PS. Надо отметить, что firmware-mod-kit тоже не находит Sqaushfs в новых прошивках (перепробовал все имеющиеся на официальном ftp). Печальбеда
Ставим binwalk поновее вручную. У меня, например, Binwalk v2.1.1, после этого редактируем файл shared-ng.inc: меняем значение BINWALK на "binwalk" После этого должно извлечься. А за статью спасибо