Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.03;
Скачать: CL | DM;

Вниз

BIOS, ZwOpenSection и Vista   Найти похожие ветки 

 
TAG   (2009-04-15 11:13) [0]

Добрый день.

Для определения конфига компьютера я читаю BIOS (SMBIOS) с помощью GetProcAddress(NtLayer, "ZwOpenSection"); (текст как-то пробегал на этом форуме).

Проблема в том, что под Vista и выше получаю  STATUS_ACCESS_DENIED.

А очень хотелось бы таки прочесть :)
Помогите, пожалуйста ( checkcfg (Зобака) narod.ru )


 
Palladin ©   (2009-04-15 11:45) [1]

1. Не Зобака, а AT. )
2. http://www.delphimaster.ru/forums.shtml#rule Рекомендуется: п.11
3. Хочется - запускай под Администраторской учетной записью. Попробуй по крайней мере, подозрение на недостаточность прав учетной записи. И почитай, что это значит в MSDN.


 
TAG   (2009-04-15 11:59) [2]

Palladin :

про п.11 - не понял, при чем тут мой пост ???

про права и MSDN - права Админские. Что значит сообщение - понятно.
Не понятно ЧЕМ вызвано и как обойти (если можно).

Более того, если читать БИОС с помощью 16-битного приложения - выводить кусок БИОСА через INT21 DosCall(0x40) -  DOS_WRITE_TO_HANDLE где HANDLE=STDOUT то на однотипных машинах под Win2003 выводится кусок, а под Win2000 - весь запрашиваемый фрагмент E000:0000-E000:FFFE


 
Игорь Шевченко ©   (2009-04-15 13:17) [3]


> Проблема в том, что под Vista и выше получаю  STATUS_ACCESS_DENIED.


что, при GetProcAddress ?


 
12 ©   (2009-04-15 14:13) [4]

А выше Vista это какая?


 
TAG   (2009-04-15 14:24) [5]

Выше WinXP - Vista,2003, ( 2008 и 7ка наверно тоже )

Шевченко :

GetProcAddress(NtLayer, "ZwOpenSection")
GetProcAddress(NtLayer, "RtlNtStatusToDosError")
- все Ок

Status := ZwOpenSection(Section, SECTION_MAP_READ,
                             @ObjectPhysicalMemoryAttributes);

получаю STATUS_ACCESS_DENIED

вот аналог.кусок кода http://book.77169.org/ask24/how163755.htm
(поиск на странице текста "@ObjectPhysicalMemoryAttributes")


 
Игорь Шевченко ©   (2009-04-15 14:36) [6]


> получаю STATUS_ACCESS_DENIED


Ну да. Закрыли эту дырку наконец.

"access to this object is denied starting in Windows 2003 Service Pack 1 and Windows Vista. "


 
TAG   (2009-04-15 14:44) [7]

П.С. это - не "аналог.кусок" - это то, на основании чего я и замутил чтение SMBIOSа.

В вышепр.куске читается память F000:0000-F000:FFFF, в ней лежит заголовок SMBIOSа, он разбирается моей прогой и при необходимости дочитывается кусок с данными о железе компа.

Например, Compaq ML350 - Заголовок в F000 сегменте, а данные - в E000 сегменте, с адреса C000

Попытка читать через NTLayer выдает ошибку, тогда файлом, сделанным по чудо-методе _RomDumpCode (см.ссылку) читаем сегменты E000 и F000 под Win2000 и Win2003.

итог :
под 2003 до адреса E000:E000 считываются только нули, далее считанные данные до F000:FFFE совпадают.

т.о. получаем - и так не прочесть и так - лажа получается... а програмка нужная, популярная, хочется довести :)

Андрей.


 
Alex Konshin ©   (2009-04-20 03:45) [8]

У меня нет Vista (и видимо не будет), но думаю, что всё станет ясно, если посмотреть на права объекта через WinObj Руссиновича.


 
TAG   (2009-04-22 16:41) [9]

2 Alex Konshin : Не пойму - на какой объект, извините ?


 
TAG   (2009-04-22 16:44) [10]

если PhisicalMemory - то Admins - QueryData & QueryState разрешены



Страницы: 1 вся ветка

Текущий архив: 2010.10.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.008 c
15-1278578373
Дмитрий С
2010-07-08 12:39
2010.10.03
имеет ли смысл заморачиваться поддержкой ie6 на своем сайте?


2-1278654940
linuxoid
2010-07-09 09:55
2010.10.03
как указать количество пакетов tidicmpclient?


15-1278620983
Юрий
2010-07-09 00:29
2010.10.03
С днем рождения ! 9 июля 2010 пятница


2-1278512975
Norfolk
2010-07-07 18:29
2010.10.03
Помогите с линейной интерполяцией пожалуйста.


2-1278410497
GanibalLector
2010-07-06 14:01
2010.10.03
Hint в TStringGrid