Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

712     22:23:01        Uesetup:FFFC5C7B        Open    C:WINDOWSWIN.INI      SUCCESS OPENEXISTING READWRITE DENYWRITE

713     22:23:01        Uesetup:FFFC5C7B        Ioctl   C:      SUCCESS Subfunction: 08h

714     22:23:01        Uesetup:FFFC5C7B        Seek    C:WINDOWSWIN.INI      SUCCESS Beginning Offset: 0 / New offset: 0

Самыми интересными для нас являются строки, в которых упоминается операция Write, ведь мы хотим узнать, какие файлы появились и какие изменились в результате установки. Для удобства я пометил пример такой строки красным цветом. Теперь давайте посмотрим на отрывки из файла протокола работы с реестром.

Содержимое файла uedit_reg_inst.log:

16      40.46406720     Uesetup:FFFC5C7B        OpenKey HKCUControl PanelDesktop      SUCCESS hKey: 0xC2A14FD0

17      40.46411120     Uesetup:FFFC5C7B        QueryValueEx    HKCUControl PanelDesktopSmoothScroll NOTFOUND

18      40.46414480     Uesetup:FFFC5C7B        CloseKey        HKCUControl PanelDesktop      SUCCESS

19      40.46420480     Uesetup:FFFC5C7B        OpenKey HKCUControl PanelMouse        NOTFOUND

…..

543     102.20113120    Uesetup:FFFC5C7B        CreateKey       HKLMSOFTWAREMicrosoftWindowsCurrentVersionSharedDLLs       SUCCESS hKey: 0xC2A13880

544     102.20122880    Uesetup:FFFC5C7B        SetValueEx      HKLMSOFTWAREMicrosoftWindowsCurrentVersionSharedDLLsC:Program FilesUltraEditUninstall.exe       SUCCESS 0x1

545     44.74403920     Uesetup:FFFC5C7B        EnumValue       HKLMSYSTEMCurrentControlSetControlNlsLocale        SUCCESS 0000040D: ""

Как и в предыдущем примере, интересующие нас строки помечены красным. Надеюсь, вы уже догадались, что нас интересуют операции CreateKey и SetValueEx, отвечающие за создание новых ключей и установку их значений. Впрочем, просмотрев файл, я пришел к выводу, что операция SetValueEx, присваивающая ключу значение, всегда идет сразу же за CreateKey, поэтому можно облегчить нашу задачу, выбирая данные только по этому признаку. Поразмыслив еще немного, я пришел к выводу, что такое поведение довольно естественно, ведь программе инсталляции нет смысла создавать пустые ключи.

В связи с тем, что размер первого файла 1.2 Мб, а второго 283 Кб, думаю, все понимают, что обрабатывать вручную их не только затруднительно, но и весьма неприятно. Поэтому мы поступим в соответствии с фразой «Никогда не доверяй человеку работу, которую может выполнить скрипт». По моему мнению, UNIX является лучшей платформой для выполнения задачи фильтрации текстовых данных. Так происходит потому, что благодаря возможности связывать команды в цепочку с перенаправлением результатов работы одной команды на стандартный ввод другой мы можем без труда создавать довольно сложные фильтры.

Итак, давайте нарисуем план работы скрипта, фильтрующего данные о действиях с файлами. Сначала нужно выбрать все строки, в которых тип операции равен Write, затем отфильтровать только те, где статус выполняемой операции равен SUCCES. После этого вырезать пятое поле строки, содержащее имя изменяемого файла. В связи с тем, что во время первоначальной распаковки дистрибутива происходит очень много операций записи в папку TEMP, нам нужно отбросить все строки, содержащие такие фрагменты. Делаем мы так потому, что после инсталляции программа стирает все временные файлы из папки TEMP, соответственно нам там тоже нечего делать. Полученный список файлов подвергается сортировке с исключением повторяющихся строк и сохраняется в файл uedit_file_inst_selected.log. Все вышеописанные действия выполняются следующей командой:

$ cat uedit_file_inst.log | grep Write | grep SUCCESS | cut -f5> | grep -v "TEMP" | sort -u > uedit_file_inst_selected.log

В результате получаем файл размером в 1.4 Кб с вот таким содержимым:

C:1G27M3QF.BAT

C:PROGRAM FILESULTRAEDITAUTOCORR.TLX

C:PROGRAM FILESULTRAEDITCHANGES.TXT

C:PROGRAM FILESULTRAEDITCONDCORR.TLX

C:PROGRAM FILESULTRAEDITHTMLTIDY.DLL

C:PROGRAM FILESULTRAEDITHTML.TLX


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100