powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получение серийника HD
25 сообщений из 108, страница 3 из 5
Получение серийника HD
    #38857749
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_Oneпеременные глобальные? зачем? сделай автономную функцию

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Command2_Click()
Dim strComputer As String, objWMIService As Object, colItems As Object, objItem As Object
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_DiskDrive", , 48)
For Each objItem In colItems
    Debug.Print "-----------------------------------"
    Debug.Print "Win32_DiskDrive instance"
    Debug.Print "-----------------------------------"
    Debug.Print "SerialNumber: " & objItem.SerialNumber
Next
End Sub



Результат тот же. При чем тут глобальные, не глобальные. Раньше тоже были глобальными, результат же был норм. и цикл всего 1 раз выполнялся.
...
Рейтинг: 0 / 0
Получение серийника HD
    #38857759
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так у вас там что-то экзотическое в устройствах, обработку ошибок добавьте и увидите
...
Рейтинг: 0 / 0
Получение серийника HD
    #38857767
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_Oneтак у вас там что-то экзотическое в устройствах, обработку ошибок добавьте и увидите
Экзотическое само по себе появилось? Сейчас попробую перезагрузиться
...
Рейтинг: 0 / 0
Получение серийника HD
    #38857769
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это появилось после того, как я заменил DiskDrive на BaseBoard, до этого было все гуд
...
Рейтинг: 0 / 0
Получение серийника HD
    #38857787
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри что это за устройство у тебя дополнительное. выведи все атрибуты objItem
...
Рейтинг: 0 / 0
Получение серийника HD
    #38857866
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще ничего понять не могу. почему после Next идет на второй цикл, и уже после этого sn = херне какой-то.
Код: vbnet
1.
2.
3.
4.
5.
6.
For Each objItem In colItems
    Debug.Print "-----------------------------------"
    Debug.Print "Win32_DiskDrive instance"
    Debug.Print "-----------------------------------"
    Debug.Print "SerialNumber: " & objItem.SerialNumber
Next


Когда Akina скинул, прогонял и дома и на работе, все шло. Абсолютно ничего не менял.

Konst_Oneпосмотри что это за устройство у тебя дополнительное. выведи все атрибуты objItem
Подскажите пожалуйста как мне это сделать, если это может показать в чем проблема(((
...
Рейтинг: 0 / 0
Получение серийника HD
    #38857886
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vdekameron...
Ну ничего не приходит в голову,

как можно сделать именно так,
чтобы при переносе на др. комп прога видела,
что прошлый sn совершенно другой чем считанный сейчас(((
....
сорри ж

у тя :
- комп ы
- прога
-------------------------------
прогА => конст
комп Ы => вар

нууу...
...
Рейтинг: 0 / 0
Получение серийника HD
    #38857915
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
из закоулков памяти..)


а
вроде,

на одном и том же компе
один и тот же диск
но
'разбитый' - даст разные SN


ой,
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858101
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Че за бред отписали

Уважаемые спецы, подскажите хоть кто-то как это можно переварить чтобы работало
17139782
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858175
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronпочему после Next идет на второй циклНу у тебя по мнению диспетчера устройств более одного дискового девайса. Нормальная ситуация. У меня, например, в системе 2 харда, сидюковод и флоп, а девайсов - семь штук.
В цикле накопи массив сериалов, и проверяй наличие элемента с требуемым значением. Какие проблемы?
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858217
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaКакие проблемы?
Да проблемы вот в чем!
Повторю, что ничего не менял и никакие у-ва не добавлял ни дома, ни тут. Как только вы мне скинули этот код, я сразу проверил. Все работало до вчерашнего дня блин. Все изменилось тогда, когда я в коде поменял DiskDrive на BaseBoard. С этим может быть связано?
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858448
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronя в коде поменял DiskDrive на BaseBoard
Видимо, имеется в виду замена Win32_DiskDrive на Win32_BaseBoard? Если так, то спешу огорчить - свойство SerialNumber для него тупой фэйк.
А можно полюбопытствовать, нахрена? Но это во-вторых, а во-первых, внеся изменения в код, следует показывать код, а не описывать, что там изменено.
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858479
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaА можно полюбопытствовать, нахрена? Но это во-вторых, а во-первых, внеся изменения в код, следует показывать код, а не описывать, что там изменено.

Уважаемый Akina, дело уже не в DiskDrive и не в BaseBoard. Уже все перепробовал, перегуглил.
Помог метод - "Тыка" а именно:- тык флешку в USB - пошел на второй цикл. Флешку назад- все норм.

Теперь просьба огромная к вам. Как этого избежать. Я так полагаю что это уже не проканает

AkinaВ цикле накопи массив сериалов, и проверяй наличие элемента с требуемым значением. Какие проблемы?
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858493
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может в этом случае лучше использовать не жесткий диск, а что-то типа уникального, например тот же sn мамы или проца
Akinaсвойство SerialNumber для него тупой фэйк. ведь этот фэйк все-равно неизменен?
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858519
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,

меня все еще интересует вопрос, заданный мной в этой теме давно: что будете делать, если человек не будет даже заморачиваться и станет запускать Вашу прогу на разных ПК из чистого exe, а не переносить один и тот же exe-шник между компами?

Я почему заново спрашиваю: Вы вот сейчас мучаетесь с вопросом привязки к железу, но не учитываете самого элементарного при придуманном Вами методе защиты - как защиту можно обойти. Советую сначала продумать все варианты обхода своей защиты и понять для себя, что допустимо "упустить" из внимания, а что очень важно учесть. Тогда и алгоритм сам сформируется.

И по секрету: серийник харда-то не на всех ПК сможете получить без админ прав, а уже серийник мамы...
Можно еще попытаться использовать ключ Windows. Они уникален. При вашей задаче тоже вполне подойдет.
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858559
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Спасибо, всегда даете дельные советы, при этом очень понятно объясняете.
The_Pristстанет запускать Вашу прогу на разных ПК из чистого exe
Знаете, я сначала подумал.
Если вы следили за тем, что я делаю(хотя думаю для вас это мало интересно), то я писал, что делаю это по двум причинам:
1) Мне это нравится
2) Упростить свою работу.
И так как мне за это никто не заплатит, то уж ладно, я поделиться могу, мне не жалко. НО, я установлю прогу со своей флешки, и ,кто сказал, что я дистрибут отдам? Вот поэтому и мучаюсь сейчас с серийником.

Думаю идею с DiskDrive забросить. Погуглил сейчас еще и нашел как считать многие параметры проца в т.ч. и ProcessorId. Думаю на нем завязать, т.к. он уж точно не меняется.

По поводу ключа windows хорошая идея, но ведь далеко не все лицензионные, или по-любому ключ должен быть? Если да, был бы признателен, если бы показали ,как его считать в VB6.
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858585
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronя установлю прогу со своей флешки, и ,кто сказал, что я дистрибут отдамНе совсем тогда понял. Дистрибутив? Так если установочный файл только у Вас и прога не может быть установлена без него - нафиг вообще все эти манипуляции со считыванием серийников? Представьте, вот нет ни у кого дистрибутива для установки VB6. Только в магазине спец выезжает и устанавливает. Какой смысл считывать серийники, если установить можно только с участием специалиста, который обладает единственным в мире дистрибутивом для установки этой проги? А без установки файлы проги, естественно, не работают.
Или под дистрибутивом подразумевается тупо файл, задача которого перенести exe-шник на целевой ПК и записать в него серийник?

Код: 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.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
'ПОЛУЧЕНИЕ КЛЮЧА Windows
Sub GetWinKey()
    Dim WshShell, regKey
    Dim DigitalProductId, Win8ProductName, Win8ProductID, Win8ProductKey, strProductKey
    
    Set WshShell = CreateObject("WScript.Shell")
    regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
    DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId")

    Win8ProductName = "Windows Product Name: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine
    Win8ProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine 'это ключ Windows
    Win8ProductKey = ConvertToKey(DigitalProductId)
    strProductKey = "Windows 8 Key: " & Win8ProductKey
    Win8ProductID = Win8ProductName & Win8ProductID & strProductKey

    MsgBox (Win8ProductKey)
    MsgBox (Win8ProductID)
End Sub
 
Function ConvertToKey(regKey)
    Const KeyOffset = 52
    Dim isWin8, j, cur, y, Chars, winKeyOutput, Last, keypart1, Insert
    Dim a, b, c, d, e
    
    isWin8 = (regKey(66) \ 6) And 1
    regKey(66) = (regKey(66) And &HF7) Or ((isWin8 And 2) * 4)
    j = 24
    Chars = "BCDFGHJKMPQRTVWXY2346789"
    Do
        cur = 0
        y = 14
        Do
            cur = cur * 256
            cur = regKey(y + KeyOffset) + cur
            regKey(y + KeyOffset) = (cur \ 24)
            cur = cur Mod 24
            y = y - 1
        Loop While y >= 0
        j = j - 1
        winKeyOutput = Mid(Chars, cur + 1, 1) & winKeyOutput
        Last = cur
    Loop While j >= 0
    If (isWin8 = 1) Then
        keypart1 = Mid(winKeyOutput, 2, Last)
        Insert = "N"
        winKeyOutput = Replace(winKeyOutput, keypart1, keypart1 & Insert, 2, 1, 0)
        If Last = 0 Then winKeyOutput = Insert & winKeyOutput
    End If
    a = Mid(winKeyOutput, 1, 5)
    b = Mid(winKeyOutput, 6, 5)
    c = Mid(winKeyOutput, 11, 5)
    d = Mid(winKeyOutput, 16, 5)
    e = Mid(winKeyOutput, 21, 5)
    ConvertToKey = a & "-" & b & "-" & c & "-" & d & "-" & e
End Function
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858607
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_PristКакой смысл считывать серийники, если установить можно только с участием специалиста, который обладает единственным в мире дистрибутивом для установки этой проги?

Представьте:-
1) Установил
2) Юзер пошел в Program Files , взял папку с установленной прогой.
3) Закинул на др. ПК
4) Запустил - работает.

P/S- SN в довесок к моей супер защите с помощью dll и проверкой ключей Registry
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858613
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronПредставьте:-
иными словами:
The_Pristпод дистрибутивом подразумевается тупо файл, задача которого перенести exe-шник на целевой ПК и записать в него серийник?
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858634
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Под дистрибутивом подразумевается:
1) Запись в реестр ключей, наличие которых будут проверяться в программе
2) Раскидывание dll с частью кода программы в системные папки. И проверка их наличия в программе.
3) Ну и тупо файл, задача которого перенести exe- шник на целевой ПК и записать в него серийник.
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858653
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

За получение ключа огромное спасибо! Все работает!
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858672
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Так ключ Windows это ProductKey или ProductID ?
Судя по этой строке то ID это ключ?
Код: vbnet
1.
Win8ProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine 'это ключ Windows
...
Рейтинг: 0 / 0
Получение серийника HD
    #38858824
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronAkinaсвойство SerialNumber для него тупой фэйк. ведь этот фэйк все-равно неизменен?
Это да. Но, кроме того, он катастрофически неуникален.
Вот, например, у моей системы Win32_BaseBoard.SerialNumber = "MB-1234567890". Пояснения требуются?
...
Рейтинг: 0 / 0
Получение серийника HD
    #38859177
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina"MB-1234567890". Пояснения требуются?
Улыбнуло) Нет, не требуются.
Я воспользуюсь советом The Prist и еще ProcessorId буду брать
...
Рейтинг: 0 / 0
Получение серийника HD
    #38860097
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

Код: vbnet
1.
DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId")



На этой строке выдает ошибку-"Не удается открыть для чтения раздел реестра"
"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"

Вариант с ключом Windows можно похоронить?(
...
Рейтинг: 0 / 0
25 сообщений из 108, страница 3 из 5
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получение серийника HD
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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