Что нового

[Реестр] добавление ключе в реестре live cd пользователям установленной винды

k790

Новичок
Сообщения
239
Репутация
1
Все наверно слышали о вирусах "winlock", вот решил создать программу для ускоренного лечения(теория лечения есть, но ведь долго самому всё искать).
Так вот там есть редактор реестра заражённого компьютера и надо с ним работать, сначала надо узнать значение и если оно не равно стандартному, то надо делать другие действия(думая сначала надо показать, что не так, а потом исправлять через чекбокс), но в реестр и записать надо, вот собственно вопрос, как считать и записать в реестр?(из под винды работает, а из под Live cd не знаю как лучше сделать)
Реестр запускается с помощью команды, "X:\MiniNT\SYSTEM32\RUNSCANNER.EXE /y /t 0 regedit.exe"
После нажатия на ярлык, с этой командой, выскакивает окошко:

Тут выбираем пользователя(я грузился из под своего компьютера и имя пользователя "Admin")
Ну а дальше сам RegEdit.
 

e-Mike

Новичок
Сообщения
15
Репутация
1
Привет, коллега! У меня такие же задачи почти каждый день :smile:
С запуском команды ничего сложного:
ShellExecute("RUNSCANNER.EXE", "/y /t 0 regedit.exe", "X:\MiniNT\SYSTEM32", "open")
А потом может выскочить одна заморочка, если программа запросит указать ей папку Винды, из которой нужно подцепить реестр. Ну не всегда оно само определяется, не всегда… Либо у меня ливсидишка другая :smile:
Далее ждем закрытие окна, в котором выбирается вручную профиль пользователя:
WinWaitClose("Select User Profile")
Что касается работы с реестром, в хелпе это описано подробно - функции RegRead(), RegWrite() с параметрами в них, но это всё для локального реестра, с подключенным наверняка не прокатит, либо надо вчитываться в параметры системной команды “reg /?” и пользоваться ей.
Поэтому пока остается только отлавливать окно редактора реестра WinWaitActive("Редактор реестра"), переключаться в него и ходить эмуляцией клавиш - слать Send’ы первых букв веток реестра, благо путь к Winlogon везде одинаков :smile:
Думаю, функция Send() известна, проблем не вызовет.
А потом уже переходим на правую сторону (Tab если с клавы), по первым буквам сэндом встаем на параметр Shell и смотрим, что там прописано – нажав программно Enter и считав программно контрол поля, что-то вроде этого:
ControlGetText("Изменение строкового параметра", "", "Edit1") и вписываем
ControlSetText("Изменение строкового параметра", "", "Edit1", "explorer.exe")
и примерно также с userinit.

Успехов!
 
Верх