внутри сети ДРОЗДОВ АНДРЕЙ AKA SULVERUS Спецвыпуск: Хакер, номер #072, стр. 072-044-6 struct { long RVA, Size; } VTableFixups; //RVA и размер данных, используемых загрузчиком для исправления таблиц виртуальных //методов(VMT) long ExportAddressTableJumps[2]; //Не используется и заполнено нулями long ManagedNativeHeader[2]; //Не используется и заполнено нулями Как видишь, даже в новом CLI-заголовке есть ненужные поля, представляющие интерес для хакеров :). [с высоты птичьего полета.] Чтобы было проще понять, как работает вся система .NET, я бы хотел резюмировать все вышесказанное на примере составляющих любого языка для .NET, описанном в Common Language Infrastrucrute: 1 COMMON TYPE SYSTEM(CTS) - ОБЩАЯ СИСТЕМА ТИПОВ, ОГРОМНАЯ БИБЛИОТЕКА ТИПОВ ДЛЯ ВСЕХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ, ЯВЛЯЕТСЯ СТАНДАРТНОЙ БИБЛИОТЕКОЙ NET FRAMEWORK. 2 COMMON LANGUAGE SPECIFICATION(CLS) - МОДЕЛЬ ДЛЯ СОЗДАНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ .NET, ОПИРАЮЩАЯСЯ НА CTS, ЯВЛЯЕТСЯ СВОЕОБРАЗНОЙ КОНВЕНЦИЕЙ ПРОГРАММИСТОВ ДЛЯ УПОРЯДОЧИВАНИЯ РАЗРАБОТКИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ. 3 COMMON INTERMEDIATE LANGUAGE(CIL) - ПЛАТФОРМОНЕЗАВИСИМЫЙ ОБЪЕКТНО-ОРИЕНТИРОВАНЫЙ НИЗКОУРОВНЕВЫЙ ЯЗЫК ПРОГРАММИРОВАНИЯ, ПОДОБНЫЙ АССЕМБЛЕРУ, В КОТОРЫЙ, ДЛЯ ПОСЛЕДУЮЩЕГО ИСПОЛНЕНИЯ, ТРАНСЛИРУЮТСЯ ВСЕ ЯЗЫКИ .NET(СОГЛАСНО CLI). 4 METADATA SYSTEM(MS) - СИСТЕМА МЕТАДАННЫХ, ПРЕДНАЗНАЧЕННАЯ ДЛЯ ОПИСАНИЯ ТИПОВ И ПОСЛЕДУЮЩЕЙ ПЕРЕДАЧИ В VES. 5 VIRTUAL EXECUTION SYSTEM(VES) - ВИРТУАЛЬНАЯ СИСТЕМА ВЫПОЛНЕНИЯ КОДА, ОТВЕЧАЮЩАЯ ЗА ЗАГРУЗКУ И ВЫПОЛНЕНИЕ CLI-ПРОГРАММ. [выводы.] Теперь понятно, насколько много возможностей открывает .NET для программистов любого уровня, от начинающего до профессионала. Создание CLS упорядочило разработку языков программирования. Казалось бы, все попытки хакеров взломать программу сводятся к нулю благодаря верификатору кода и его многочисленным проверкам. Также придется переучиваться всем, в том числе и ассемблерщикам, поскольку CIL сильно от него отличается, вирусописателям добавили много новых способов для заражения файлов, поскольку формат PE был очень сильно изменен - были добавлены несколько новых заголовков, а старые заголовки не стали удалять, а просто заполнили нулями. Таким образом, платформа .NET дает новые способы реализации абсолютно всем. Сейчас все только начинают исследовать .NET-платформу, но если ты действительно серьезно решил заняться ее изучением, советую скачать и запастись документацией по новой версии платформы (которая, кстати, используется в Windows Vista) - .NET Framework 3.0. К ней уже есть немного документации на msdn'e, хотя действительно нужной информации очень мало. Но не все так сказочно прекрасно, как это показывают нам представители Майкрософт. При ближайшем рассмотрении видно, что система .NET Framework полна многочисленных мелких ошибок и недоработок. С момента выхода Windows Vist'ы хакеры придумают самые изощренные способы взлома этой системы, как это было с Win32. В этом и заключается весь парадокс: в Майкрософт придумали систему, которая полностью исключает недочеты и ошибки Win32, но в этой новой системе породили не меньше ошибок и недочетов. Однако сейчас не известно, кто же окажется сильнее - хакеры или Майкрософт. |