Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прочитать ключ HKCU из-под сервиса 
:(
    Опции темы
djman2006
Дата 17.8.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



Как прочитать ключ реестра из HKCU текущего пользователя (не SYSTEM) из сервиса? Или это не возможно?
P.S. Имя текущего пользователя имеется
P.P.S. надо узнать прокси из настроек IE (HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer)

Это сообщение отредактировал(а) djman2006 - 17.8.2008, 20:34
PM MAIL   Вверх
Virtuals
Дата 17.8.2008, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



djman2006, в нашем мире все возможно... smile 
1.из сервиса подсаживаем в сессию пользователя процесс, и читаем реестр
2.напрямую подгружаем реестр пользователя к себе, из папки Documents and Settings\user и ищем все чото нужно
PM MAIL ICQ   Вверх
djman2006
Дата 17.8.2008, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



Virtuals, к сожалению, первый метод я не реализую  smile 
насчет второго, пытался читать ntuser.dat, но винда не дает доступа к нему  smile

PM MAIL   Вверх
djman2006
Дата 17.8.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



Цитата(djman2006 @ 17.8.2008,  21:54)
Virtuals, к сожалению, первый метод я не реализую  smile 

Есть кое-какие идеи: сервис пишет в HKLM в автозагрузку путь к маленькой программе, которая при загрузке считает с HKCU данные и запишет куда-то в HKLM, откуда сервис уже может читать
Идея очень бредовая но наверное будет работать  smile
PM MAIL   Вверх
MbIcJIuBcJIyX
Дата 18.8.2008, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 8.8.2008

Репутация: нет
Всего: нет



хорошая статья по сервисам

http://www.interface.ru/home.asp?artId=16705

немного освещается тема топика, но не сказал бы что решается smile
читать с Настройки и взаимодействие с пользователем
PM MAIL   Вверх
Virtuals
Дата 18.8.2008, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



djman2006
Цитата

к сожалению, первый метод я не реализую   

1. это почему же?, или не знаем как? (листаем страницу до самого низу и читаем ссылки которые движек форума любезно нашел для вас smile после слов "А здесь смотрели?")
2. 
Цитата

насчет второго, пытался читать ntuser.dat, но винда не дает доступа к нему 

сказки, только что попробовал, от system подгружать куст в HCU влегкую, даже активного (залогиненого) в данный момент пользователя.

PM MAIL ICQ   Вверх
djman2006
Дата 18.8.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 10.6.2007

Репутация: нет
Всего: 1



Цитата(Virtuals @ 18.8.2008,  07:11)
сказки, только что попробовал, от system подгружать куст в HCU влегкую, даже активного (залогиненого) в данный момент пользователя.

Может я что то не так делаю ?
Код

  Reg := TRegistry.Create;
  Try
  Reg.RootKey:=HKEY_USERS;
  Reg.LoadKey('UserHive','C:\Documents and Settings\VasyaPupkin\ntuser.dat');
  Finally
    Reg.Free;
  End;


Это сообщение отредактировал(а) djman2006 - 18.8.2008, 11:49
PM MAIL   Вверх
Virtuals
Дата 18.8.2008, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



 smile 
цтрл+клик по LoadKey...
Код

  Result := RegLoadKey(RootKey, PChar(S), PChar(FileName)) = ERROR_SUCCESS;


стрл+ф1
Цитата

Windows NT: The calling process must have the SE_RESTORE_NAME privilege. For more information about privileges, see Privileges. 

ага, где там примерчик с перечслением привелегий,( спасибо Rouse_ )

SeRestorePrivilege - Выключена  smile но очень похоже

GetPrivileges('SeRestorePrivilege'); smile 

ура все получилось smile 
PM MAIL ICQ   Вверх
Mayk
Дата 18.8.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Цитата(djman2006 @  18.8.2008,  00:33 Найти цитируемый пост)
P.S. Имя текущего пользователя имеется

я могу ошибаться, но помему в реестре есть ветка Users не то внутри
Цитата(djman2006 @  18.8.2008,  00:33 Найти цитируемый пост)
SYSTEM
 не то паралелльно с ней. И каждому юзеру соовтествует нечто типа GUID. И вообще говоря HKCU указывает на Users\{GUID}. 

Соответственно зная имя пользователя можно попробовать получить этот GUID и грузить ветку реестра из Users. 

По-моему я это наблюдал в вин2к. правда это было очень давно.

Добавлено через 1 минуту и 10 секунд
а ну собсно я похоже djman2006'а повторил 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Virtuals
Дата 18.8.2008, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



Цитата

я могу ошибаться, но помему в реестре есть ветка Users не то внутриЦитата(djman2006 @  18.8.2008,  00:33 )
SYSTEM

 не то паралелльно с ней. И каждому юзеру соовтествует нечто типа GUID. И вообще говоря HKCU указывает на Users\{GUID}. 


вы правы но только отчасти, реестр пользователя неподгружен в память, пока пользователь незалогинен, (ну представте что бы творилось с компом если бы на нем прописать 10-30 пользователей, а реестр занимает метров 10 и он обязан сидеть в памяти  smile )

но решение есть (смотрите выше), это подгрузить внешний файл реестра в ветку hklm или hku. (в регедите это подгрузить куст  smile , кстати это как раз способ как править чужой внешний реестр)

ну или читать уже подгруженный реестр (если пользователь залогинился) из ветки вида HKU\S-1-5-21-1123561945-73586283-1801674531-...
(а можно совместить эти 2 способа, что даст очень интересные возможности, например контроль изменений в реестре пользователя в процессе работы) smile 
PM MAIL ICQ   Вверх
Virtuals
Дата 18.8.2008, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



кстати для способа чтения из реестра по guid профиля, а так же для самовольной подгрузки думаю эта ветка будет интересна

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
 smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0864 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.