ТОП 10:

Ocho: мы строили, строили и наконец построили



Собственно, все, только что рассказанное,- это так себе, предисловие фактически. То есть вы, конечно, можете настроить систему и при определенном везении даже продлить ее trial'ный период на следующую пятилетку. Но это все, так сказать, цветочки для сисадминов, которые, как известно, хоть и super, но все-таки юзеры. Но все-таки хотелось бы не тырить софт Venturcom ценой 1500 зеленых, а честно его порвать и реконструировать. Поэтому любой нормальный хацкер должен срочно закатать все, чего там у него закатывается, и наваять OpenBXP, работающий под Linux и другими системами. В целях портабельности я бы выбрал Java или Perl - заодно получится компактный и структурированный исходный код.

Несколько наводящих подсказок. Первое, что мы уже и сделали, это использовали альтернативный сервер DHCP, то есть эта компонента у нас уже Open. Точно так же и TFTP- и PXE-серверы являются чем-то совершенно от BXP не зависимым. Учитывая, что и PXE, и BOOTP представлены хоть и бесплатными, но все-таки принадлежащими 3Com, серверами, я рекомендовал бы просто игнорировать эти варианты загрузки (хотя бы временно, до лучших времен). Кстати, если вы настроили DHCP так, как показано в этой статье, то вам эти сервисы, что называется, однозначно не упираются - я их даже не стартовал.

В качестве шага к светлому будущему я предпринял установку бесплатного Solar Windows TFTP Server v.6.0, переписал в его каталог C:\TFTP-Root файл VLDRMI13.bin, после чего спокойно положил сервис BXP TFTP - и все продолжало работать как ни в чем не бывало (ну, за исключением лагов "TFTP Timeout", которые фиксировал Solar TFTP - но загрузке это не мешало, да и кто знает, как там работал BXP TFTP, я в его логи не вдавался).

 

 

Итак, осталось четыре сервиса, которые воленс-ноленс придется реконструировать, поскольку падение любого из них мгновенно делает сетевую загрузку невозможной. Исследование закладки General дает нам следующие соответствия имен файлов (в каталоге C:\Program Files\Venturcom\BXP\) и сервисов:

 

Кроме того, придется разобраться с клиентскими модулями: модулем BNClient размером 24 Кб, драйвером BXP Miniport SCSI Virtual Adapter (копии всех используемых файлов лежат в C:\WINNT\System32\BNTemp, 107 Кб) и самым ужасным файлом - VLDRMI.bin.

Ужасен этот файл не столько своим небольшим размером (всего 22 Кб, половина из которых - диагностические сообщения, однородные массивы и сообщения об ошибках), сколько полным отсутствием знакомых ориентиров вроде системных вызовов, поскольку на момент загрузки он работает в среде PXE bre-boot-OS, где, естественно, доступны какие-то системные вызовы, например BIOS, в том числе сетевые PXE, но, как это работает, придется изучать с нуля. Для дизассемблирования помогут такие подсказки:

  • сначала сверните строки в конце текста и однородные массивы по всему тексту - из-за неизвестной точки входа это не делается автоматически;
  • данные процедуры по соглашению кодеров vldrmi находятся за телом этой же процедуры, и, поскольку все происходит в одном сегменте, адресация таких "локальных переменных" часто осуществляется через CS;
  • выравнивание кода - по границам двойных слов, так что пару нулей часто означает границы процедур;
  • типичный пролог процедур: 66h, 60h, 6h, 1Eh - что в терминах ассемблера выглядит как:

pushad
push es
push ds

- или что-то в этом роде, после нескольких удачных попаданий остальные процедуры найдутся сами.

Есть еще небольшая наводка по поводу "где лежат параметры, которые изменяются в процессе настройки". Есть такая простая утилита fc (типа File Compare) - сделав копию с образа и изменяя параметры, можно обнаружить следующее (флажки 57C8-57C9 - последние байты в файле):

 

На момент публикации статьи я уже продвинулся дальше, но сегодня моя цель - не выкладывать вам код, который даже и дезассемблировать-то нельзя (а fc - не дезассемблер, так что не придеретесь), а просто показать, что все делается, и сравнительно быстро. Задача предстоит сравнительно сложная, но детерминированно разрешимая.

Решив ее, вы немедленно станете героем дня, многие конторы мира начнут вас хотеть, а вы сами сможете создать вокруг себя движение - в общем, варианты на выбор. А остальные пусть очередной раз переписывают свое резюме, каждому, как говорится, свое.

<<<<...Назад Содержание Вперед...>>>>

Обсудить в форуме...>>>>

 

Рекомендовать эту страницу...>>>>

 







Последнее изменение этой страницы: 2016-07-11; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.236.35.159 (0.006 с.)