Вверх ↑
Этот топик читают: Гость
Ответов: 1891
Рейтинг: 110
#1: 2007-07-21 18:26:42 ЛС | профиль | цитата
В Windows ХР установочный ключ к дистрибутиву Windows находится по следующему адресу:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProductId
либо эдесь:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProductId

Вопрос: в других версиях Windows ключ к дистрибутиву Windows находится также по этим адресам?
Кому не лень пожалуста посмотрите
карма: 0
%time%
0
Ответов: 1305
Рейтинг: 29
#2: 2007-07-21 19:48:47 ЛС | профиль | цитата
Alexbootch, это не ключ к дистрибутиву (т.е. CD-Key, если я правильно тебя понял). В ХР CD-Key из реестра просто так не достанешь, вроде бы
карма: 0

0
Ответов: 1891
Рейтинг: 110
#3: 2007-07-21 20:15:25 ЛС | профиль | цитата
v258, ключ HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProductId
- это регистрационный номер от компакт-диска с Windows

[size=-2]------ Добавлено в 20:15
Кстати нашел, для Windows 95/98/Me это ключ:

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionProductKey
карма: 0
%time%
0
Ответов: 1305
Рейтинг: 29
#4: 2007-07-21 21:49:33 ЛС | профиль | цитата
Alexbootch писал(а):
это регистрационный номер от компакт-диска с Windows

В первый раз такое слышу

Вышеозначенный параметр у меня имеет значение
76456-641-9406853-23918

А CD-Key имеет формат
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

т.е. пять групп по пять знаков, причем не только цифры. А в 9х да, CD-Key можно из реестра выудить запросто
карма: 0

0
Ответов: 1891
Рейтинг: 110
#5: 2007-07-21 22:06:42 ЛС | профиль | цитата
Alexbootch, писал(а):
это регистрационный номер от компакт-диска с Windows


Я имел ввиду что это серийный номер Windows
карма: 0
%time%
0
Ответов: 3655
Рейтинг: 69
#6: 2007-07-21 22:26:58 ЛС | профиль | цитата
Alexbootch писал(а):
Я имел ввиду что это серийный номер Windows

Пытаешься создать очередной генератор паролей
карма: 0

0
Ответов: 1891
Рейтинг: 110
#7: 2007-07-22 00:50:29 ЛС | профиль | цитата
Вячеслав, писал(а):
Пытаешься создать очередной генератор паролей


Что-то в этом роде

Вячеслав, а почему очередной? Я вроде каких-либо генераторов паролей не создавал

[size=-2]------ Добавлено в 00:50
v258, в Windows ХP только по серийному номеру Windows XP можно узнать, т.к. 25-значный номер, который вбивается при установке XP, после установки участвует в формировании группы из 20 десятичных цифр под названием Product ID, найти которую можно в реестре по адресу:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurentVersion, ключ ProductID

Product ID разбит на группы цифр:
AAAAA-BBB-CCCCCCC-DDDDD,
Где первые 5 цифр указывают на версию ОС (всегда одинаковые для одного и того же типа), а остальные формируются из серийного номера системы, вбиваемого при инсталляции (именно из этих цифр вычисляют серийный номер системы различные утилитки). Как уже говорилось, эти 20 цифр формируют P1, P2 и P3 части Installation ID. Делается это так:
AAAAA - составляют 17 бит, которые становятся битами от 0 до 16 для P1.
BBB - составляют 10 бит, которые становятся битами от 17 до 26 для P1.
CCCCCCC - составляют 28 бит, которые становятся битами от 27 до 31 для P1 и битами от 0 до 22 для P2.
DDDDD - составляют 17 бит, которые становятся битами от 23 до 31 для P2 и битами от 0 до 7 для P3.
Таким образом видно, что Installation ID содержит в себе полную информацию о типе операционной системы, и целиком серийный ключ, который вбивается при инсталляции (как уже говорилось, его можно вычислить из Product ID). В принципе это ожидаемо (ведь должен же Microsoft точно идентифицировать проданную копию при активации), и никакой критичной информации для пользователя не составляет. Гораздо больший интерес представляют первые два слова, H1 и H2, составляемые на основе данных об аппаратном обеспечении компьютера.
Для H1 и H2 они распределяются так:
H1.
Биты 1-9. Серийный номер и название системного раздела диска.
Биты 10-19. MAC адрес сетевой карты.
Биты 20-26. CD-ROM hardware ID.
Биты 27-31. Hardware ID видеокарты.
H2.
Биты 0-2. Не используются, всегда 001.
Биты 3-8. Серийный номер центрального процессора.
Биты 9-15. Hardware ID жёсткого диска.
Биты 16-20. SCSI host adapter hardware ID.
Биты 21-24. Модель центрального процессора.
Биты 28-30. Размер RAM.
Бит 31. Указывает, становится ли компьютер в док-станцию. 1 - становится, 0 - не становится.
Если какое-либо из устройств отсутствует (например сетевая карта или SCSI контроллёр), то поле предназначенное для него заполняется нулями.
карма: 0
%time%
0
Ответов: 1305
Рейтинг: 29
#8: 2007-07-22 11:26:48 ЛС | профиль | цитата
Alexbootch писал(а):
а почему очередной? Я вроде каких-либо генераторов паролей не создавал

Дык, не ты первый, да и не ты последний, имхо
карма: 0

0
Ответов: 3655
Рейтинг: 69
#9: 2007-07-22 13:50:11 ЛС | профиль | цитата
v258 писал(а):
Дык, не ты первый, да и не ты последний, имхо

Угу
карма: 0

0
Ответов: 1891
Рейтинг: 110
#10: 2007-07-29 17:04:18 ЛС | профиль | цитата
Кто-нибудь подскажите как можно открыть regedit c переходом на указанный ключ?
карма: 0
%time%
0
Ответов: 1305
Рейтинг: 29
#11: 2007-07-29 18:16:38 ЛС | профиль | цитата
Alexbootch писал(а):
Кто-нибудь подскажите как можно открыть regedit c переходом на указанный ключ?

В Дельфи это делается так:
unit Unit1;
 
interface

uses
Windows, Messages, Classes, Controls, Forms, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure JumpToKey(Key: string);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses
ShellAPI;

procedure TForm1.JumpToKey(Key: string);
var
i, n: Integer;
hWin: HWND;
ExecInfo: ShellExecuteInfoA;
begin
hWin := FindWindowA(PChar('RegEdit_RegEdit'), nil);
if hWin = 0 then
{if Regedit doesn't run then we launch it}
begin
FillChar(ExecInfo, 60, #0);
with ExecInfo do
begin
cbSize := 60;
fMask := SEE_MASK_NOCLOSEPROCESS;
lpVerb := PChar('open');
lpFile := PChar('regedit.exe');
nShow := 1;
end;
ShellExecuteExA(@ExecInfo);
WaitForInputIdle(ExecInfo.hProcess, 200);
hWin := FindWindowA(PChar('RegEdit_RegEdit'), nil);
end;
ShowWindow(hWin, SW_SHOWNORMAL);
hWin := FindWindowExA(hWin, 0, PChar('SysTreeView32'), nil);
SetForegroundWindow(hWin);
i := 30;
repeat
SendMessageA(hWin, WM_KEYDOWN, VK_LEFT, 0);
Dec(i);
until i = 0;
Sleep(500);
SendMessageA(hWin, WM_KEYDOWN, VK_RIGHT, 0);
Sleep(500);
i := 1;
n := Length(Key);
repeat
if Key[i] = '\' then
begin
SendMessageA(hWin, WM_KEYDOWN, VK_RIGHT, 0);
Sleep(500);
end
else
SendMessageA(hWin, WM_CHAR, Integer(Key[i]), 0);
i := i + 1;
until i = n;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
JumpToKey('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer');
end;

end.

Сам, правда, не пробовал
карма: 0

0
Ответов: 1305
Рейтинг: 29
#12: 2007-07-29 18:40:01 ЛС | профиль | цитата
Хотя вру, попробовал
code_1757.txt
Вроде бы работает
карма: 0

0
файлы: 1code_1757.txt [2.1KB] [587]
Ответов: 1891
Рейтинг: 110
#13: 2007-07-29 21:41:37 ЛС | профиль | цитата
v258, огромное спасибо!
карма: 0
%time%
0
Ответов: 1305
Рейтинг: 29
#14: 2007-07-29 23:11:04 ЛС | профиль | цитата
Alexbootch, там в IC есть строки (54, 56 и 63)
Sleep(500)[/code]
Можно попробовать уменьшить это значение, чтобы ускорить процесс. В принципе, я эти строки вообще выбрасывал - без них отображает почти моментально, но как знать, будет ли на слабых машинах работать :?
карма: 0

0
Ответов: 1891
Рейтинг: 110
#15: 2007-07-29 23:18:54 ЛС | профиль | цитата
v258, писал(а):
Можно попробовать уменьшить это значение, чтобы ускорить процесс. В принципе, я эти строки вообще выбрасывал - без них отображает почти моментально, но как знать, будет ли на слабых машинах работать


приму к сведению
карма: 0
%time%
0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)