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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу открыть на чтение/запись PhysicalMemory, под WinXpSp2 
:(
    Опции темы
bartram
Дата 6.7.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

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



только почему то под WinXpSp2 функция:
Код

{ Открытие физической памяти }
function OpenPhysicalMemory(mAccess: dword): THandle;
var
  PhysMemString: TUnicodeString;
  Attr: TObjectAttributes;
  OldAcl, NewAcl: PACL;
  SD: PSECURITY_DESCRIPTOR;
  Access: EXPLICIT_ACCESS;
  mHandle: dword;

begin
  Result := 0;
  RtlInitUnicodeString(@PhysMemString, MemDeviceName);

  InitializeObjectAttributes(@Attr, @PhysMemString, OBJ_CASE_INSENSITIVE or
                             OBJ_KERNEL_HANDLE, 0, nil);

  if ZwOpenSection(@mHandle, READ_CONTROL or
                   WRITE_DAC , @Attr) <> STATUS_SUCCESS then Exit;

  if GetSecurityInfo(mHandle, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION,
                     nil, nil, @OldAcl, nil, SD) <> ERROR_SUCCESS then Exit;
  with Access do
    begin
     grfAccessPermissions := mAccess;
     grfAccessMode := GRANT_ACCESS;
     grfInheritance := NO_INHERITANCE;
     Trustee.pMultipleTrustee := nil;
     Trustee.MultipleTrusteeOperation := NO_MULTIPLE_TRUSTEE;
     Trustee.TrusteeForm := TRUSTEE_IS_NAME;
     Trustee.TrusteeType := TRUSTEE_IS_USER;
     Trustee.ptstrName := 'CURRENT_USER';
    end;

   SetEntriesInAcl(1, @Access, OldAcl, NewAcl);

   SetSecurityInfo(mHandle , SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION,
                   nil, nil, NewAcl, nil);

   ZwOpenSection(@Result, mAccess, @Attr);

   SetSecurityInfo(mHandle , SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION,
                   nil, nil, OldAcl, nil);

   CloseHandle(mHandle);
   LocalFree(DWORD(NewAcl));
   LocalFree(DWORD(SD));
end;


ничего не возвращает smile, хотя через драйвер все работает. Все запарывается где-то на ZwOpenSection, а почему ни как понять не могу! Может кто знает в чем тут загвоздка? 


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

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


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(bartram @  6.7.2006,  12:52 Найти цитируемый пост)
SetSecurityInfo(mHandle , SE_KERNEL_OBJECT,

Производится поытка установить атрибуты режима ядра, тогда как процесс запущен в режиме пользователя.

Добавлено @ 13:56 
кроме того из режима пользователя ни как нельзя обратится к реальным адресам памяти, ведь система работает в защищенном режиме и каждому процесу выделяется свое виртуальное адресное пространство.  


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
bartram
Дата 9.7.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

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



alexeis1, дело в том что этот код работает под XPSp1 а под Sp2 не пашет 


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

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


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(bartram @  9.7.2006,  11:18 Найти цитируемый пост)
а под Sp2 не пашет

В  Sp2 появился firewall, и некоторые  дополнительные службы, может они блокируют?
А вообще может быть это глюки винды, ошибки в реестре или что-то с другими настройками, так просто не определить! 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
bartram
Дата 10.7.2006, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

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



alexeis1, мне кажется немножко поменялась архитектура системных вызовов, а где про это почитать не могу найти smile 


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

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.

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


 




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


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

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