<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=3828779</guid>
        <pubDate>Sat, 18 Apr 2020 16:38:34 +0000</pubDate>
        <title>как расшифровать ключ DigitalProductId</title>
        <link>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=3828779</link>
        <description><![CDATA[Aqel: На <strong class='tag-b'>Delphi XE 8</strong> не работает.]]></description>
        <author>Aqel</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2403109</guid>
        <pubDate>Wed, 21 Oct 2009 11:59:48 +0000</pubDate>
        <title>как расшифровать ключ DigitalProductId</title>
        <link>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2403109</link>
        <description><![CDATA[jon007: Исправил Buf: pBytearray; на Buf: Array of byte в обоих местах и ошибка пропала. Ещё раз спасибо за помощь. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2009-10-21T12:00:57+00:00">21.10.09, 12:00</time></span></span><br>
Забыл отметить что вопрос решён.]]></description>
        <author>jon007</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2403105</guid>
        <pubDate>Wed, 21 Oct 2009 11:56:51 +0000</pubDate>
        <title>как расшифровать ключ DigitalProductId</title>
        <link>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2403105</link>
        <description><![CDATA[CodeMonkey: Оцпию Range Check Errors включите и сделайте Build.]]></description>
        <author>CodeMonkey</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2403094</guid>
        <pubDate>Wed, 21 Oct 2009 11:41:26 +0000</pubDate>
        <title>как расшифровать ключ DigitalProductId</title>
        <link>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2403094</link>
        <description><![CDATA[jon007: Спасибо Master буду пробовать. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2009-10-21T11:54:31+00:00">21.10.09, 11:54</time></span></span><br>
Делаю так <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Buf: pBytearray;</div><div class="code_line">reg.ReadBinaryData(&#39;DigitalProductId&#39;, buf[0], reg.GetDataSize(&#39;DigitalProductId&#39;));</div><div class="code_line">Form1.ListView1.Items[13].SubItems.Strings[0]:= GetKey(buf);</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script> вроде всё работает, а после выполнения всего кода вываливается ошибка, что программа обратилась не потому адресу, не пойму что не так.]]></description>
        <author>jon007</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2403050</guid>
        <pubDate>Wed, 21 Oct 2009 10:56:07 +0000</pubDate>
        <title>как расшифровать ключ DigitalProductId</title>
        <link>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2403050</link>
        <description><![CDATA[leo: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Function GetKey(rpk:pByteArray):string; //вместо pByteArray можно юзать дин.массив TByteDynArray из types.pas</div><div class="code_line">Const </div><div class="code_line">&nbsp;rpkOffset = 52;</div><div class="code_line">&nbsp;szPossibleChars:string = &#39;BCDFGHJKMPQRTVWXY2346789&#39;;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;i,j,n,dwAccumulator:integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result:=&#39;&#39;;</div><div class="code_line">&nbsp;&nbsp;n:=Length(szPossibleChars); //=24</div><div class="code_line">&nbsp;&nbsp;dwAccumulator:=0;</div><div class="code_line">&nbsp;&nbsp;i:=28;</div><div class="code_line">&nbsp;&nbsp;while i &#62;= 0 do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;for j:=14 downto 0 do</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;dwAccumulator:=dwAccumulator*256+rpk[j+rpkOffset];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;rpk[j+rpkOffset]:=(dwAccumulator div n) and 255;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;dwAccumulator:=dwAccumulator mod n; </div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result:=szPossibleChars[dwAccumulator+1]+Result;</div><div class="code_line">&nbsp;&nbsp; &nbsp;dec(i); &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (i &#62;= 0) and ((29-i) Mod 6) = 0) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result:=&#39;-&#39;+Result;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;dec(i);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end; &nbsp; </div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2402857</guid>
        <pubDate>Wed, 21 Oct 2009 08:38:28 +0000</pubDate>
        <title>как расшифровать ключ DigitalProductId</title>
        <link>https://forum.sources.ru/index.php?showtopic=285149&amp;view=findpost&amp;p=2402857</link>
        <description><![CDATA[jon007: Здравствуйте. Есть скрипт написанный на vbs, у меня не получается его перевести на delphi, помогите пожалуйста.<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#39;---xp-viewkey.vbs---</div><div class="code_line">&#39; by PaulD</div><div class="code_line">Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)</div><div class="code_line">strDigitalProductId=&quot;HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId&quot;</div><div class="code_line">strOffXPRU=&quot;HKLM\SOFTWARE\Microsoft\Office.0\Registration\{91110419-6000-11D3-8CFE-0050048383C9}\DigitalProductId&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">strXPKey=GetKey(WshShell.RegRead(strDigitalProductId))</div><div class="code_line">&#39;strOffXPRUKey=GetKey(WshShell.RegRead(strOffXPRU))</div><div class="code_line">&nbsp;</div><div class="code_line">&#39;CopytoClipboard</div><div class="code_line">set ie=CreateObject(&quot;internetExplorer.application&quot;)</div><div class="code_line">ie.navigate &quot;about:blank&quot;</div><div class="code_line">do until ie.readystate=4: wscript.sleep 1: loop</div><div class="code_line">ie.document.parentwindow.clipboardData.setData &quot;Text&quot;, strXPKey</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">MsgBox &quot;WinXP:&quot;&amp;strXPKey&amp;chr(13)&amp;_</div><div class="code_line">&quot;key in clipboard&quot;</div><div class="code_line">&#39; &quot;OffXP:&quot;&amp;strOffXPRUKey</div><div class="code_line">&nbsp;</div><div class="code_line">Function GetKey(rpk)</div><div class="code_line">&nbsp;</div><div class="code_line">Const rpkOffset=52:i=28</div><div class="code_line">szPossibleChars=&quot;BCDFGHJKMPQRTVWXY2346789&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">Do &#39;Rep1</div><div class="code_line">dwAccumulator=0 : j=14</div><div class="code_line">Do </div><div class="code_line">dwAccumulator=dwAccumulator*256 </div><div class="code_line">dwAccumulator=rpk(j+rpkOffset)+dwAccumulator</div><div class="code_line">rpk(j+rpkOffset)=(dwAccumulator) and 255 </div><div class="code_line">dwAccumulator=dwAccumulator Mod 24</div><div class="code_line">j=j-1</div><div class="code_line">Loop While j&#62;=0</div><div class="code_line">i=i-1 : szProductKey=mid(szPossibleChars,dwAccumulator+1,1)&amp;szProductKey</div><div class="code_line">if (((29-i) Mod 6)=0) and (i&#60;&#62;-1) then </div><div class="code_line">i=i-1 : szProductKey=&quot;-&quot;&amp;szProductKey</div><div class="code_line">End If</div><div class="code_line">Loop While i&#62;=0 &#39;Goto Rep1</div><div class="code_line">&nbsp;</div><div class="code_line">GetKey=szProductKey</div><div class="code_line">End Function</div></ol></div></div></div></div> нужна функция Function GetKey(rpk). Спасибо.]]></description>
        <author>jon007</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	