Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

GetXPKey.js

Код:
 
var WshShell = WScript.CreateObject("WScript.Shell");
var bTempKey = VBArray(WshShell.RegRead("HKLM\\SOFTWARE\\MICROSOFT\\Windows NT\\CurrentVersion\\DigitalProductId"));
var bKey = new Array
bKey = bTempKey.toArray();
 
var KeyBase = new Array('B', 'C', 'D', 'F', 'G', 'H', 'J','K', 'M', 'P', 'Q', 'R', 'T', 'V', 'W', 'X', 'Y', '2', '3', '4', '6', '7', '8', '9');
var dLen = 29;
var sLen = 15;
var Dst = new Array(dLen);
var StartOffset = 0x34;
var EndOffset = 0x34 + 15
var Src = new Array(15);
 
for (var i = StartOffset; i<=EndOffset; i++)
{
Src[i-StartOffset] = bKey[i]  
}
for (var i = dLen - 1; i>=0; i--)
{
if (((i + 1) % 6) == 0)
{
Dst[i] = '-';
}
else
{
var HN = 0;
for (var n = sLen - 1; n>=0; n--)
{
var Value = (HN << 8) | Src[n];
Src[n] = Value / 24;
HN = Value % 24;
}
Dst[i] = KeyBase[HN];
}
}
var str = "";
for (i = 0; i<=dLen-1; i++)
{
str += Dst[i];
}
 
WScript.Echo(str)
 
// (c) FreemanRU. ru-board
 

 
 
После небольшой переделки позволяет также смотреть ключи Office XP и 2003.
Ключ в реестре:
HKLM\SOFTWARE\MICROSOFT\Office\XX.0\Registration\'GUID'\DigitalProductId
где:
 XX - 10 для Office XP или 11 для Office 2003
 'GUID' - индетификатор продукта. Чтобы узнать все ключи, надо делть enumerate
 
Узнать имя продукта можно из HKLM\SOFTWARE\MICROSOFT\Office\XX.0\Registration\'GUID'\ProductName
 
Принимаются предложения.
 
PS В VBScript похоже реализовать это нельзя, т.к. в нем нет функции "битовое OR"
Если кто знает, как можно реализовать "битовое OR" в VBScript - напишите. Буду очень признателен.

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 16:40 22-08-2005 | Исправлено: FreemanRU, 17:01 22-08-2005
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования
emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru