Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
25 / 14 / 1
Регистрация: 13.08.2010
Сообщений: 330
1

Как программно экспортировать раздел реестра в reg файл?

03.05.2012, 15:56. Показов 2954. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа лезет в реестр в определенное место, читает от туда данные. Если находит лишнее, тогда она экспортирует эту ветку реестра.
И еще вопрос.
Есть раздел реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Программно задано что именно там должно быть. Если находится что-то лишнее и не один пункт, тогда программа задает вопрос по каждому удалить или нет. Помогите реализовать или может у кого подобное уже было, буду признателен за исходники.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2012, 15:56
Ответы с готовыми решениями:

Как программно экспортировать ветку реестра в reg файл?
Как программно экспортировать эту ветку реестра в reg файл?...

Как программно экспортировать ветку реестра в файл?
Причем не какой-то отдельный параметр, а ветку целиком. Пробовал запустить reg.exe с параметрами,...

Экспорт реестра в reg файл
Помогите пожалуйста написать код для экспорта настроек игрушки в reg файл Cleaner.reg это для...

Экспорт веток реестра в REG файл
Нужно перед внесением изменений в реестр с помощью REG файла, сохранить изменяемые ключи в другой...

6
39 / 39 / 18
Регистрация: 11.05.2011
Сообщений: 199
03.05.2012, 22:34 2
делал что-то наподобие BanerKiller:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
 try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('\Software\Microsoft\Windows NT\CurrentVersion\Winlogon',true);
if Reg.ReadString('Shell') <> 'explorer.exe' then
begin
  Reg.WriteString('Shell','explorer.exe');
end;
if pos('\system32\userinit.exe',Reg.ReadString('Userinit'))=0 then
begin
  Reg.WriteString('Userinit','%SystemRoot%\system32\userinit.exe');
end;
Reg.CloseKey;
 
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('\Software\Microsoft\Windows NT\CurrentVersion\Winlogon',true);
if Reg.ReadString('Shell') <> 'explorer.exe' then
begin
  Reg.WriteString('Shell','explorer.exe');
end;
if pos('\system32\userinit.exe',Reg.ReadString('Userinit'))=0 then
begin
  Reg.WriteString('Userinit','%SystemRoot%\system32\userinit.exe');
end;
Reg.CloseKey;
  finally
    Reg.Free;
    inherited;
 end;
end;
это только пример, а ты уже сам решай как его использовать
1
25 / 14 / 1
Регистрация: 13.08.2010
Сообщений: 330
04.05.2012, 01:55  [ТС] 3
Можете прокомментировать этот код?
Delphi
1
if pos('\system32\userinit.exe',Reg.ReadString('Userinit'))=0 then
Я просто не пойму пока всего, когда вопросы есть задаю смело

Тот код, что выше следит только за Winlogon в реестре, а вирус,как правило, добавляет себя еще и в ...\Software\Microsoft\Windows\CurrentVersion\Run причем куча копий сразу возникает. А я и хочу изобрести код, который знает, что в реестре по этому ...\CurrentVersion\Run лежит вот это и вот это и равно оно тому, а все, что добавлено вне знания программы, та задает вопрос удалять или нет это из реестра, т.о. пользователь сам принимает решение об удалении.

Добавлено через 2 часа 54 минуты
Блин, гугл решает многое, а я вам вопросы задаю. Сори за лишние вопросы.
Но вопрос на голову выше вовсе не лишний.
0
39 / 39 / 18
Регистрация: 11.05.2011
Сообщений: 199
04.05.2012, 02:23 4
По поводу ветки \Software\Microsoft\Windows\CurrentVersion\Run могу сказать, что универсальную программу не сделать, т.к. туда прописываются все кому не лень. Но есть два решения, если ты хочешь автоматизировать процесс:
1) Удалить все записи в данной ветке. (Жёстко, но зато обезопасим пользователя от винлока, да и винда от чистки данного раздела не пострадает).
2) Более правильный, это удалять все записи которые ссылаются на файлы не находящиеся в папке ProgramFiles.
Какой способ использовать решать тебе...
0
25 / 14 / 1
Регистрация: 13.08.2010
Сообщений: 330
04.05.2012, 10:08  [ТС] 5
Как правило, Вирус-вымагатель создает в загрузочной области реестра RegValue у которых имеют примечательную сторону... Во первых их создается несколько копий с разным именем RegValue, во-вторых может такое быть, что и в разных разделах, то есть и в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run и в
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
Этот признак считаю ключевым и если ориентир в защитном ПО делать на это, тогда программа станет универсальным бойцом против локеров.
Я намерен создать такую программу. Прошу оказать посильную помощь аудиторию форума.
На данном этапе встал перед проблемой.
Как просканировать разделы HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run и HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run. Получить список значений и сравнить все значения друг с другом. Если есть совпадения, тогда удалить все ключи, которые повторялись более 1 раза. Как это программно забацать?
0
Житель Земли
3002 / 3004 / 391
Регистрация: 26.07.2011
Сообщений: 11,463
Записей в блоге: 1
04.05.2012, 10:16 6
Цитата Сообщение от Ralik Посмотреть сообщение
Есть раздел реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Программно задано что именно там должно быть. Если находится что-то лишнее и не один пункт, тогда программа задает вопрос по каждому удалить или нет.
главное, чтобы не посчитать лишним строку CTFMON.EXE, а то убьешь языковую панель

Добавлено через 1 минуту
Цитата Сообщение от Ralik Посмотреть сообщение
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
а здесь, например, прописывает себя антивирус НОД (насчет других не знаю), так что аккуратнее
0
25 / 14 / 1
Регистрация: 13.08.2010
Сообщений: 330
04.05.2012, 10:19  [ТС] 7
Цитата Сообщение от DenNik Посмотреть сообщение
главное, чтобы не посчитать лишним строку CTFMON.EXE, а то убьешь языковую панель

Добавлено через 1 минуту

а здесь, например, прописывает себя антивирус НОД (насчет других не знаю), так что аккуратнее
Ну я же написал выше ориентир. Под этот ориентир не попадают ни нод, ни языковая панель, ни что другое.
0
04.05.2012, 10:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2012, 10:19
Помогаю со студенческими работами здесь

Изменение ветки реестра (написать reg-файл)
необходимо написать .reg файл, который сможет изменить права у ветки реестра и удалить ветку...

Как командой REG удалить из реестра Windows информацию о подключении флешки?
При подключении флешки в USB-разъем работающего компьютера, многократно прописывается информация о...

Как скопировать раздел реестра?
какой функцией можно переместить/скопировать раздел?

Как переименовать раздел реестра?
Допустим раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList, я...

Как изменить права на раздел реестра?
Здравствуйте. Имеется немного переработанный твик для отображения скрытых папок и файлов, взятый...

Как программно экспортировать отчет в Word (rtf формат)
Помогите, кто знает. Ведь в отчете, предварительном просмотре есть кнопка 'Связи с Office'. Может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru