Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #79, ИЮЛЬ 2005 г.

Обзор компонентов

Фленов Михаил aka Horrific

Хакер, номер #079, стр. 079-124-1


(www.vr-online.ru)

Memory Map

Для Delphi

[описание:]

Не всегда удобно читать и писать файлы стандартными методами. Часто приходится загружать файл в память и только потом использовать его, что отнимает очень много времени. А как хорошо было бы работать с файлом сразу же без загрузки, как с памятью! Ось же умеет делать это. Классический пример такой работы – файл подкачки, с которым система работает как с оперативкой. Однако некоторые программисты не используют функции отображения файлов в памяти из-за их «сложности». Вот почему сегодня я привожу компонент, максимально упрощающий эту задачу.

[особые отличия:]

+ Профессиональная реализация. Чтобы программа не завалилась, есть все необходимые проверки. Все работает «на ура». Сразу становится понятно, что автор – наш соотечественник.

+ К компоненту прилагаются полный исходник и понятный пример использования.

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

[диагноз:]

Отображение действительно необходимо всегда, особенно если приходится работать с большим количеством данных. К примеру, очень и очень сложно обходиться без него при работе с видео. Ты только представь, что программе пришлось бы грузить в память здоровенный образ DVD – был бы просто кошмар. Сплошные тормоза и глюки, особенно если мало оперативки.

[ссылки:]

Забираем здесь: www.torry.net/vcl/system/memory/jmm.zip

MiTeC – SystemInformation

Для Delphi

[описание:]

Неделю назад мне задали очень интересный вопрос: «Изменяется ли идентификатор жесткого диска при форматировании и сохраняется ли он при переносе образа с помощью Norton GHOST?» Автор вопроса хотел заставить свою программу запускаться только на определенном компьютере и чтобы она была привязана к диску.

Замысел хороший, но, боюсь, одной привязкой к харду тут ограничиваться не получится, так как можно подделать идентификатор если не собственно жесткого диска, то идентификатор функций, которые определяют его. По-моему, лучший вариант – привязаться к идентификаторам нескольких устройств и материться, если изменились, скажем, три из них.

[особые отличия:]

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

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

+ Есть удобная возможность экспорта отчета в формат XML.

+ Можно в реальном времени следить за загрузкой памяти и процессора, хотя не так уж сложно реализовать это самостоятельно.

+ В качестве примера показано, как создать окно наподобие диспетчера устройств Windows.

+ Есть возможность просмотреть работающие процессы.

[диагноз]

Не видя исходного кода, очень сложно выносить какое-либо решение о том, нужен компонент или нет. Если системная информация берется из реестра без дополнительных проверок на достоверность данных, такому компоненту грош цена. Однако если информация проверяется, а там, где это возможно, берется напрямую от устройства, то такой компонент действительно невероятно полезен.

Содержание  Вперед на стр. 079-124-2