1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Скрыть объявление

Привет посетитель! У нас на форуме тебе откроются дополнительные разделы, которые скрыты от гостей! А так же ты найдёшь много полезной информации.

Узнаём информация о Windows

Тема в разделе "C++ / C# / .NET", создана пользователем kick, 1 апр 2017.

Метки:
  1. kick

    kick Магистр Йода Администратор

    Регистрация:
    20 янв 2015
    Сообщения:
    4.915
    Симпатии:
    3.455
    Баллы:
    6.235
    При помощи VBS мы пишем скрипт, который позволит нам вывести информацию о нашей системе и ключе:
    Код:
    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
    Win8ProductKey = ConvertToKey(DigitalProductId)
    strProductKey ="Windows Key: " & Win8ProductKey
    Win8ProductID = Win8ProductName & Win8ProductID & strProductKey
    MsgBox(Win8ProductKey)
    MsgBox(Win8ProductID)
    Function ConvertToKey(regKey)
        Const KeyOffset = 52
        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
    
    Узнаём информация о Windows, kick,1, 1, 1 апр 2017, 14:41, Форум администраторов игровых серверов, 63882, 5261, PNG, Снимок.PNG
    Узнаём информация о Windows, kick,2, 2, 1 апр 2017, 14:41, Форум администраторов игровых серверов, 63882, 5261, PNG, Снимок.PNG
    Файл обязательно должен быть с расширением vbs или уже как вы реализуете по другому его.
     
    webdes27 нравится это.
  2. necr0x

    necr0x Интересующийся Местный

    Регистрация:
    2 дек 2015
    Сообщения:
    429
    Симпатии:
    95
    Баллы:
    257
    Зачем первое окно, если инфа с него повторяется во втором окне (им.в. ключ)?
     
  3. kick

    kick Магистр Йода Администратор

    Регистрация:
    20 янв 2015
    Сообщения:
    4.915
    Симпатии:
    3.455
    Баллы:
    6.235
    Что бы вывести просто кей, если так мешает то сделать вот так:
    Код:
    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
    Win8ProductKey = ConvertToKey(DigitalProductId)
    strProductKey ="Windows Key: " & Win8ProductKey
    Win8ProductID = Win8ProductName & Win8ProductID & strProductKey
    MsgBox(Win8ProductID)
    Function ConvertToKey(regKey)
        Const KeyOffset = 52
        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
     
    necr0x нравится это.
  4. necr0x

    necr0x Интересующийся Местный

    Регистрация:
    2 дек 2015
    Сообщения:
    429
    Симпатии:
    95
    Баллы:
    257
    В свое время начитавшись Хакера делал на том же ВБСе скрипт и на компе друга пока тот делал мне чай прописал его в реестр (благо у него 98 тогда была и без антивируса, да и на те времена антивирусы такое не ловили). Скрипт через 2 недели запустил окно с текстом: "Провайдер выявил несанкционированное сканирование пользователей локальной сети. Если подобное повторится, то будем вынуждены закрыть вам доступ в интернет." )) Это пол беды, он любил посканить сеть... Я сделал другой скрипт, он выдавал следующее: "Windows установила, что вы используете пиратскую версию операционной системы. После перезагрузки ваш жесткий диск будет отформатирован и вся информация с него будет удалена. Нажмите "Ок" чтобы начать перезагрузку." Аххахахахахха!!! Он судорожно начал записывать на CD всё что у него было на компе отодвинув это окошко в сторону, позвонил мне и рассказал все, как я угорал с него, ну конечно не выдержал и рассказал что это всего навсего моя шутка. Друзья, не пускайте ни кого за свой ПК пока вас нет рядом, даже на 2 минуты )))
     
  5. kick

    kick Магистр Йода Администратор

    Регистрация:
    20 янв 2015
    Сообщения:
    4.915
    Симпатии:
    3.455
    Баллы:
    6.235
    Код:
    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
    Win8ProductKey = ConvertToKey(DigitalProductId)
    strProductKey ="Windows Key: " & Win8ProductKey
    Win8ProductID = Win8ProductName & Win8ProductID & strProductKey
    MsgBox(Win8ProductKey)
    MsgBox(Win8ProductID)
    Function ConvertToKey(regKey)
        Const KeyOffset = 52
        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
    
    set FSO = CreateObject("Scripting.FileSystemObject")
    set OFile = FSO.OpenTextFile("file.txt", 8, True)
     
    OFile.Write(Text & vbCrLf)
    OFile.Close
    
    set FSO = CreateObject("Scripting.FileSystemObject")
    set OFile = FSO.OpenTextFile("file.txt", 8, True)
     
    OFile.Write(Win8ProductID & vbCrLf)
    OFile.Close
    Запись в файл информации с ключем. Файл открывается и записывает в конец, дабы не потерять прошлую информацию