Имя: Пароль:
1C
1С v8
Аппаратная защита базы или привязка к железу через WMI
0 Dwarrior
 
17.04.12
14:20
Здравствуйте! Есть база 1С 8.1, реализовано "подобие" привязки к железу. Привязка простая - через следующий код получаем s/n процессора, матери и харда и сохраняем его. При каждом открытии смотрим эти же параметры и сравниваем с ранее сохраненными. Код:

oLocator = Новый COMОбъект("wbemScripting.Swbemlocator");
ВМИСервис = oLocator.ConnectServer();        
Процессоры = ВМИСервис.ExecQuery("SELECT * FROM Win32_Processor",,48);
Для каждого Процессор Из Процессоры Цикл
....
КонецЦикла;

Так вот проблема - это работает, только если юзер в Windows обладает админскими правами. В противном случае, метод ExecQuery() возвращает пустой набор. Кто-нибудь сталкивался с похожей проблемой? Как это можно обойти?
Не ругайте сильно, если не в тему:)
1 zak555
 
17.04.12
14:21
выложи cf
2 Cube
 
17.04.12
14:21
(0) Обойти это можно, закомментировав данный кусок кода :)
3 Dwarrior
 
17.04.12
14:26
(1) - зачем?:) Суть вопроса - как получить серийники железа через WMI не под админом? 1С тут просто как среда, в которой исполняется код WMI
(2) - ну это уже другой вопрос, вопрос обрезания прав и сложности паролей админов:)
4 MMF
 
17.04.12
14:39
(3) пароли любой сложности в 8-ке - условность. Используй ВК для непосредственного вызова CPUID, но вообще это ненадежный способ привязки
5 Dwarrior
 
17.04.12
14:46
(4) - какие ВК например?
Уровня защиты 1С мне достаточно, настоящие хакеры базу взламывать не будут.
6 MMF
 
17.04.12
14:50
(5) самописную. Ее писать полчаса-час под твою задачу. Взлом пользовательских логинов или открытие защищенного модуля без исходных текстов давно уже задача не для хакера, а для юзера, умеющего пользоваться гуглом
7 Dwarrior
 
17.04.12
15:22
По сути вопроса (работа WMI не под админном) никто ничего сказать не может?:)
8 pumbaEO
 
17.04.12
15:26