windows ProductPolicyキーの列挙/定数


0

私はwindowsの内部を読んでいるのですがproductoptions / productpolicyキーが見つかりました

製品ポリシーキーの定数またはenumのドキュメントも見つかりませんでした

まず第一に、この情報は公開されていますか?各Windowsバージョンのキーを取得するために10台の仮想マシンを設定する必要がありますか、それとも誰かがその答えを知っていますか?


Windowsライセンスを楽しんでいる 鍵を復号化する方法を示します。
DavidPostill

Hehe、あなたがそれを考えれば私はします 競争的に あなたの質問に答えます、それは記事全体を読むのが非常に速かったです;)
DavidPostill

ええ、それはリンクの中で完全な構造だったので、私は構造やキーの意味を尋ねる部分に部分的に答えるので、そう
AndrewxXx

回答:


2

製品ポリシーキーの定数または列挙型のドキュメントが見つかりません

下記の記事では、キーに含まれるバイナリ値をリバースエンジニアリングしています。 HKLM\System\CurrentControlSet\ProductOptions

鍵を復号化するプログラム(ソースコード付き)も含まれています。


Windowsライセンスを楽しんでいる

あなたがキーでレジストリを調べれば   HKLM \ System \ CurrentControlSet \ ProductOptionsにいくつかあります。   ライセンス関連の値。

ProductTypeキーとProductSuiteキーには、OSスイートと   Editionですが、ProductPolicyキーはもっとおもしろいです。それではましょう   よく見てください

...

ご覧のとおり、ライセンス名はUnicode文字列として存在し、   後で、値をどのように読み取ることができるかを説明します。しかし私は   手動ですべての名前を抽出する必要はありませんでした。   見た目がよくなかったので、使用された構造を元に戻すことができます   複雑な

...

ヘッダーから始まります。

  TProductPolicyHeader = packed record
    cbSize: DWORD;
    cbDataSize: DWORD;
    cbEndMarker: DWORD;
    Unknown1: DWORD;
    Unknown2: DWORD;
  end;

その後、値の配列が続きます。

  TProductPolicyValue = packed record
    cbSize: Word;
    cbName: Word;
    SlDatatype: Word;
    cbData: Word;
    Unknown1: DWORD;
    Unknown2: DWORD;
  end;

SlDataTypeは、の値に対応するワード値です。   0SLDATATYPE列挙:

  _tagSLDATATYPE =
  (
    SL_DATA_NONE       = REG_NONE,
    SL_DATA_SZ         = REG_SZ,
    SL_DATA_DWORD      = REG_DWORD,
    SL_DATA_BINARY     = REG_BINARY,
    SL_DATA_MULTI_SZ   = REG_MULTI_SZ,
    SL_DATA_SUM        = 100
  );
  SLDATATYPE = _tagSLDATATYPE;
  TSlDataType = SLDATATYPE;
  PSlDataType = ^SLDATATYPE;

そして我々は(サイズcbEndMarkerの)エンドマーカーで終わります。

ソース Windowsライセンスを楽しんでいる


-1

あなたが使用することができます ProductPolicy Editor 1.5 すべての値とそのプロパティを見るために。 MDL(英語と中国語のUIが利用可能)でそれを検索してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.