powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / защита от взлома
25 сообщений из 68, страница 1 из 3
защита от взлома
    #37785741
olegbilas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу совета у наших уважаемых гуру и аксакалов форума. Я разработал алгоритм защиты базы от взлома на основе регистрационого пароля. Пароль формируется на основе системных характеристик компьютера пользователя (тоесть идея "прибить" базу намертво к компу пользователя, который ее оплатил). Идет привязка пароля к серийному номеру материнской платы и серийному номеру БИОСа. Вот часть кода по получению этих значений:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
'Считывает серийные номера
Public Function DriveSerial() As Long

Dim strComputer As String
Dim objWMIService As Object, colProcessor As Object, objProcessor As Object
Dim SerialNumberMb As String
Dim SerialNumberBIOS As String
Dim str As String
Dim Ch As String

    strComputer = "."
    
'Серийный номер материнской платы
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_BaseBoard", , 48)
For Each objItem In colItems
    SerialNumberMb = objItem.SerialNumber
Next

'Параметры BIOS
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery("SELECT * FROM Win32_BIOS")
    For Each objBIOS In colBIOS
        SerialNumberBIOS = objBIOS.SerialNumber
    Next
    
'Формирование расчетного значения для пароля
str = SerialNumberMb
DriveSerial = val(regularDigits(str))
str = SerialNumberBIOS
DriveSerial = DriveSerial + val(regularDigits(str))
If DriveSerial <= 0 Then
    DriveSerial = 85612470 'на всякий случай
End If



SerialNumberMb -- серийный номер матер. платы, SerialNumberBIOS -- серийный номер БИОС, DriveSerial -- регистрациооный пароль, который пользователь должен сообщить мне, чтобы получить регистрационный ключ.
У меня вопрос: насколько уникальными для каждого компьютера являются серийный номер матер. платы и серийный номер БИОС, чтобы избежать формирования одинакового пароля на разных компах? Очень прошу высказать свое мнение
...
Рейтинг: 0 / 0
защита от взлома
    #37786047
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegbilas,

А Вы вот это тоже прочли прежде чем начать свой топик? Там в частности вот в этом посте 12504814 PWW пишет так:
PWWНет уникального серийного номера процессора, есть номер "сборки" процессора. Т.е. таких процессоров будет выпущено много. Если в солидном учреждении, с толстым бюджетом, закупается оргтехника массово, то может оказаться, что все машины у них будут одинаковы (одинаковый процессор, материнская плата и ее биос) . Если программа устанавливается на частных домашних компьютерах, то юзеры не договорятся между собой об обмене ключей-можно привязаться к процессору+материнская плата+биос. Для корпоративных наверное надо добавить номер установки винды (он уникален). Но я не знаю, его подменить или нет.
Ну и так далее ...
Советую прочесть.
...
Рейтинг: 0 / 0
защита от взлома
    #37786091
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В больших компаниях все пк заливаются из одного типового образа. Никто отдельно винду + другое ПО не ставит.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
защита от взлома
    #39690891
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил поднять старую веточку вместо создания новой.
В интернете видел, кажется от Егорова Алексея, о получении информации о железе с помощью WMI. Статья была кажется за 2003 год. Там ещё о процессоре было.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Sub SpecificationsProcessor()
Dim strComputer As String
Dim objWMIService As Object, colProcessor As Object, objProcessor As Object

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colProcessor = objWMIService.ExecQuery("SELECT * FROM Win32_Processor")
    For Each objProcessor In colProcessor
        Debug.Print "Name: " & objProcessor.Name
        Debug.Print "LogicalProcessors: " & objProcessor.NumberOfLogicalProcessors
        Debug.Print "Manufacturer: " & objProcessor.Manufacturer
        Debug.Print "Version: " & objProcessor.Version
        Debug.Print "Architecture: " & objProcessor.Architecture
        Debug.Print "Level: " & objProcessor.Level
        Debug.Print "Revision: " & objProcessor.Revision
        Debug.Print "ProcessorId: " & objProcessor.ProcessorId
    Next

End Sub

Так вот, получить данные о BIOS и процессоре получается, а вот о материнке - никак.
Может что-то изменилось в WMI с того времени? Или я что-то недоглядел?

А на счёт темы. Многие блокируют вывод номеров процессора и BIOS, так что предложение строить защиту на них неприемлемо. Вот привязка к винту при считывании заводского номера через SMART имеет право на жизнь.
...
Рейтинг: 0 / 0
защита от взлома
    #39690929
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привязка к железу - вообще глупость, ну разве что исключая случаи, когда продаётся программно-аппаратный комплекс, состоящий и из программы, и из железа.
Jossо материнке - никак.
Может что-то изменилось в WMI с того времени?Нет, как был Win32_MotherboardDevice пустой, так и остался. Да и что с неё взять?
Впрочем, можно попробовать покопаться в MSFT_PCSVDevice .
Jossпривязка к винту при считывании заводского номера через SMART имеет право на жизнь.При включенном смарте...
...
Рейтинг: 0 / 0
защита от взлома
    #39690934
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительВ больших компаниях все пк заливаются из одного типового образа. Никто отдельно винду + другое ПО не ставит.

Мечты, мечты.
Купил как-то партию в 200 шт. Intel DH61
А через полгода понадобилось еще 100.
А их с производства сняли.
Пришлось два образа сопровождать.
...
Рейтинг: 0 / 0
защита от взлома
    #39691009
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот здесь выложен вот такой код от Алексея Егорова
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Sub SpecificationsMB()

Dim strComputer As String
Dim objWMIService As Object, colItems  As Object, objItem As Object
   
   On Error GoTo SpecificationsMB_Error

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
'Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_BaseBoard", , 48)
For Each objItem In colItems
    Debug.Print "-----------------------------------"
    Debug.Print "Win32_BaseBoard instance"
    Debug.Print "-----------------------------------"
    Debug.Print "Серийный номер: "; Tab; objItem.SerialNumber
    Debug.Print "Производитель: "; Tab; objItem.Manufacturer
    Debug.Print "Model: "; Tab; Tab; objItem.Model
    Debug.Print "OtherIdentifyingInfo: "; Tab; objItem.OtherIdentifyingInfo
    Debug.Print "PartNumber: "; Tab; Tab; objItem.PartNumber
    Debug.Print "Product: "; Tab; Tab; objItem.Product
Next
   On Error GoTo 0
   Exit Sub

SpecificationsMB_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure SpecificationsMB of Module Module4"
End Sub

Здесь описано получение и серийного номера, и модели, и производителя. Так вот эта подпрограмма у меня не работает. Вообще не создаёт коллекции.
В чём дело - не пойму.
...
Рейтинг: 0 / 0
защита от взлома
    #39691077
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы с удовольствием пользуетесь командной строкой Windows, то Вы можете с легкостью выяснить модель материнской платы при помощи мощного инструмента WMIC Microsoft

С WMIC мы можем выполнить запрос baseboard чтобы проверить материнскую плату и несколько дополнительных параметров таких как серийный номер, ревизия и другая подробная информация о вашей материнке. Давайте с вами попробуем на примере узнать производителя нашей материнской платы, модель и серийник с помощью WMIC. Откройте командную строку (это можно сделать сочетанием клавиш WIN + R на клавитаре и введя команду CMD). Кстати, командную строку не обязательно запускать от имени администратора. Введите следующий текст в командной строке.


Код: plaintext
wmic baseboard get product,Manufacturer,version,serialnumber 

Спустя пару секунд вы получите информацию о названии вашей материнской платы…

Источник: https://www.itshneg.com/check-model-motherboard/

Но у меня эта команда не работает. Интересно, почему?
Компьютер в сети. Я на нём локальный админ. Win 7 SP1 32 bit
...
Рейтинг: 0 / 0
защита от взлома
    #39691132
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В команде WMIC alias BASEBOARD существует. Но при попытке его применить выдаётся сообщение

Код: plaintext
No Instance(s) Available.

Что-то блокирует его использование.
...
Рейтинг: 0 / 0
защита от взлома
    #39691150
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
..не по теме

MAC адрес, не?
...
Рейтинг: 0 / 0
защита от взлома
    #39691175
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего я за это уцепился.

Запускаешь программы и она заносит в базу плату, процессор, винт, память, Windows, версию офиса, имя компьютера ну и т.д.
Получается база компов предприятия.

Пока так, наброски. Занимаюсь сбором информации и кода. Хочу задействовать только Access.
...
Рейтинг: 0 / 0
защита от взлома
    #39691205
Фотография LocksmithPC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183Мечты, мечты.
Купил как-то партию в 200 шт. Intel DH61
А через полгода понадобилось еще 100.
А их с производства сняли.
Пришлось два образа сопровождать.


А на хрена? Нужные дрова интегрируются в подготовленный образ для развертывания в последний момент.
...
Рейтинг: 0 / 0
защита от взлома
    #39691514
Аллюр Д.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossЗанимаюсь сбором информации и кода. Хочу задействовать только Access.
WMI это уже не Access :)

Скрипт инвентаризации от Павла Железнова. Сайт уже приказал долго жить, но благодарное человечество сохранило скрипт на диске D
...
Рейтинг: 0 / 0
защита от взлома
    #39691548
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossЗдесь описано получение и серийного номера, и модели, и производителя. Так вот эта подпрограмма у меня не работает. Вообще не создаёт коллекции
Странно... код-то в общем нормальный.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 
For Each objItem in GetObject("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT * FROM Win32_BaseBoard",,48)
    Debug.Print "-----------------------------------"
    Debug.Print "Win32_BaseBoard instance"
    Debug.Print "-----------------------------------"
    Debug.Print "Серийный номер: "; Tab; objItem.SerialNumber
    Debug.Print "Производитель: "; Tab; objItem.Manufacturer
' Disabled - because are empty
'    Debug.Print "Model: "; Tab; Tab; objItem.Model
'    Debug.Print "OtherIdentifyingInfo: "; Tab; objItem.OtherIdentifyingInfo
'    Debug.Print "PartNumber: "; Tab; Tab; objItem.PartNumber
    Debug.Print "Product: "; Tab; Tab; objItem.Product
    Debug.Print "Version: "; Tab; Tab; objItem.Version
Next
...
Рейтинг: 0 / 0
защита от взлома
    #39691770
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аллюр Д.JossЗанимаюсь сбором информации и кода. Хочу задействовать только Access.
WMI это уже не Access :)
Но легко вызывается из VBA. Не требует дополнительных программ типа Aida64 или Everest. Спасибо за скрипты. Но материнку всё равно не считывает.

to Akina., Если у Вас программа считывает данные о материнке, значит прикол в моём компьютере.
...
Рейтинг: 0 / 0
защита от взлома
    #39691901
Аллюр Д.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossНо материнку всё равно не считывает.
Считывает.

кусочек из файла, сформированного этим скриптомМатеринская плата;Производитель;1;ASUSTeK COMPUTER INC.
Материнская плата;Наименование;1;B85M-G
Материнская плата;Версия;1;Rev X.0x
Материнская плата;Серийный номер;1;140525974802972
...
Рейтинг: 0 / 0
защита от взлома
    #39691903
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossАллюр Д.пропущено...

WMI это уже не Access :)
Но легко вызывается из VBA. Не требует дополнительных программ типа Aida64 или Everest. Спасибо за скрипты. Но материнку всё равно не считывает.

to Akina., Если у Вас программа считывает данные о материнке, значит прикол в моём компьютере.физически может не может считать программа?
Или какой-то экран висит?
...
Рейтинг: 0 / 0
защита от взлома
    #39691905
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossЕсли у Вас программа считывает данные о материнке, значит прикол в моём компьютере.А пошаговая трассировка что показывает? Пустую коллекцию (не попадаем внутрь For Each) или пустые значения свойств?
...
Рейтинг: 0 / 0
защита от взлома
    #39691908
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, стесняюсь спросить, а winmgmt запущена?
...
Рейтинг: 0 / 0
защита от взлома
    #39692018
PWW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubuchaJoss,
..не по теме

MAC адрес, не?

Не..
У меня разок провайдер на домашней машине MAC адрес сменим. Это то что я знаю, а там кто знает что у провайдера на уме, может быть он раз в неделю MAC адреса всем меняет.
...
Рейтинг: 0 / 0
защита от взлома
    #39692023
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PWWУ меня разок провайдер на домашней машине MAC адрес сменим.На сказку похоже. На быль - нет.
PWWЭто то что я знаюПолагаю, это ложные знания.
...
Рейтинг: 0 / 0
защита от взлома
    #39692037
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaPWWУ меня разок провайдер на домашней машине MAC адрес сменим.На сказку похоже. На быль - нет.
PWWЭто то что я знаюПолагаю, это ложные знания. Та нет. Был тут базар об этом. Если покопаться по форуму, то можно найти. Была там и ссылка на программу, которая это делала. Но тот сайт приказал долго жить.
...
Рейтинг: 0 / 0
защита от взлома
    #39692039
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaJossЕсли у Вас программа считывает данные о материнке, значит прикол в моём компьютере.А пошаговая трассировка что показывает? Пустую коллекцию (не попадаем внутрь For Each) или пустые значения свойств?
Проверил дома - всё считывает. А на работе - облом.
Пошагово проверял - пустая коллекция.
...
Рейтинг: 0 / 0
защита от взлома
    #39692125
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jossссылка на программу, которая это делала.Ну не надо бред-то распространять! Я вот сам, сознательно и руками, это сделать не смогу из своей рабочей учётки - поскольку у неё нет необходимых прав, нужно админом грузиться. А чтобы какая-то там программа, да удалённо, да влезла в настройки моего сетевого адаптера и изменила там МАС-адрес? При том что такой возможности может просто вообще не быть у драйвера сетевой карты (а для сравнительно старых карт или карт малоизвестных вендоров это обычное дело)...

В общем, это байка из той же бочки, что и стопервая рассказка про вирус, который плавит клавиатуру...
...
Рейтинг: 0 / 0
защита от взлома
    #39692129
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossПошагово проверял - пустая коллекция.Но без ошибок?
А вариантов немного:
1) Не запущена служба
2) Недостаточно прав для обращения к службе или неверно выполняется имперсонация
3) Таковы текущие настройки, или это особенность драйвера платформы

Права у учётной записи - какие? А программы-сборщики сведений о системе (скажем, Speccy) показывают полные сведения, или тоже зажимают половину?
...
Рейтинг: 0 / 0
25 сообщений из 68, страница 1 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / защита от взлома
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]