<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: результаты работы скрипта и exe файла отличаются]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=10387</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=10387&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: результаты работы скрипта и exe файла отличаются».]]></description>
		<lastBuildDate>Thu, 12 Feb 2015 23:57:09 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91504#p91504</link>
			<description><![CDATA[<p>Это концовка цитаты, я на 100% не знаю как точно писать, хотя думаю что с большой, т.к. точка то есть.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Thu, 12 Feb 2015 23:57:09 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91504#p91504</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91502#p91502</link>
			<description><![CDATA[<p>И предложение&nbsp; начинается с заглавной буквы.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 12 Feb 2015 22:13:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91502#p91502</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91500#p91500</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Коллеги, напоминаю, что ни скобка, ни смайлик точку в конце предложения не заменяют.</p></blockquote></div><p> Поправил. <br />Тебе надо было ранее линк мне дать на Лукоморье - я бы так не прокалывался.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Thu, 12 Feb 2015 22:07:53 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91500#p91500</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91316#p91316</link>
			<description><![CDATA[<p>Коллеги, напоминаю, что ни скобка, ни смайлик точку в конце предложения не заменяют.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 06 Feb 2015 08:13:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91316#p91316</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91315#p91315</link>
			<description><![CDATA[<p>Не за что, тут скорее спасибо Laszlo Hars за скрипт)</p>]]></description>
			<author><![CDATA[null@example.com (emmetoya)]]></author>
			<pubDate>Fri, 06 Feb 2015 05:39:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91315#p91315</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91314#p91314</link>
			<description><![CDATA[<p>Да, я уже понял прочитав исходник - сорри что не отписался.</p><p>По сути, можно кое что добавить, но это уже дело личное, т.е. моё. <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p><p>Спасибо за ответ и за идею, я сам собирался написать для себя, ну а тут готовый вариант. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Fri, 06 Feb 2015 02:21:31 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91314#p91314</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91310#p91310</link>
			<description><![CDATA[<p>В этой версии считываются<br /></p><div class="codebox"><pre><code> %COMPUTERNAME%%HOMEPATH%%USERNAME%%PROCESSOR_ARCHITECTURE%%PROCESSOR_IDENTIFIER%
%PCdata%%PROCESSOR_LEVEL%%PROCESSOR_REVISION%%A_OSType%%A_OSVersion%%Language%</code></pre></div><p>и на их основе генерится идентификатор компьютера. Можете по ссылке выше перейти на англоязычную ветку, там 21 страница обсуждения.<br />Если нужно, могу выложить скрипты на создание идентификатора, генерации по нему лицензии и проверки правильности лицензии по идентификатору компьютера.</p>]]></description>
			<author><![CDATA[null@example.com (emmetoya)]]></author>
			<pubDate>Thu, 05 Feb 2015 11:04:27 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91310#p91310</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91297#p91297</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>создание идентификатора компьютера по разным системным переменным</p></blockquote></div><p> по системным переменным или по железу? <br />Мне такая нужна для проверки обновлений скриптов, если по сис.переменным, то они меняются.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Wed, 04 Feb 2015 19:32:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91297#p91297</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91295#p91295</link>
			<description><![CDATA[<p><strong>YMP</strong>, в яблочко! Оказалось что на моем компьютере стояла x64 версия, а на остальных x32! Спасибо большое, сегодня вторую половину дня просто весь мозг вынес этим вопросом.</p>]]></description>
			<author><![CDATA[null@example.com (emmetoya)]]></author>
			<pubDate>Wed, 04 Feb 2015 17:08:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91295#p91295</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91293#p91293</link>
			<description><![CDATA[<p>Скрипт выполняется интерпретатором той же разрядности (32/64), с каким скомпилирован экзешник?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Wed, 04 Feb 2015 13:58:35 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91293#p91293</guid>
		</item>
		<item>
			<title><![CDATA[AHK: результаты работы скрипта и exe файла отличаются]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=91292#p91292</link>
			<description><![CDATA[<p>Всем привет!<br />Есть такой код (создание идентификатора компьютера по разным системным переменным, взято&nbsp; с англоязычного форума AHK <a href="http://www.autohotkey.com/board/topic/5427-sw-copy-protection/">http://www.autohotkey.com/board/topic/5 … rotection/</a>)</p><div class="codebox"><pre><code>    SWP_Initialize()
    Fingerprint := SWP_GetPcFingerprint()
    IfExist, %A_ScriptDir%\activation.txt
        FileDelete, %A_ScriptDir%\activation.txt
    FileAppend, Activation info: %Fingerprint%`n, %A_ScriptDir%\activation.txt
    Run, %A_ScriptDir%\activation.txt
return

SWP_Initialize( mk0=0x11111111, mk1=0x22222222, mk2=0x33333333, mk3=0x44444444, ml0=0x12345678, ml1=0x12345678, mm0=0x87654321, mm1=0x87654321 ) 
    {
                Global
            k0 := mk0        ; 128-bit secret key (example)
            k1 := mk1
            k2 := mk2
            k3 := mk3

            l0 := ml0        ; 64- bit 2nd secret key (example)
            l1 := ml1
            m0 := mm0    ; 64- bit 3rd secret key (example)
            m1 := mm1
    }

SWP_GetPcFingerprint() 
    {
        PCdata = %COMPUTERNAME%%HOMEPATH%%USERNAME%%PROCESSOR_ARCHITECTURE%%PROCESSOR_IDENTIFIER%
        PCdata = %PCdata%%PROCESSOR_LEVEL%%PROCESSOR_REVISION%%A_OSType%%A_OSVersion%%Language%
        Fingerprint := XCBC(Hex(PCdata,StrLen(PCdata)), 0,0, 0,0,0,0, 1,1, 2,2)
        Return Fingerprint
    }

TEA(ByRef y,ByRef z, k0,k1,k2,k3)
    {       ; need  SetFormat Integer, D
        s = 0
        d = 0x9E3779B9
        Loop 32       ; could be reduced to 8 for speed
            {
                   k := &quot;k&quot; . s &amp; 3 ; indexing the key
                   y := 0xFFFFFFFF &amp; (y + ((z &lt;&lt; 4 ^ z &gt;&gt; 5) + z  ^  s + %k%))
                   s := 0xFFFFFFFF &amp; (s + d)  ; simulate 32 bit operations
                   k := &quot;k&quot; . s &gt;&gt; 11 &amp; 3
                   z := 0xFFFFFFFF &amp; (z + ((y &lt;&lt; 4 ^ y &gt;&gt; 5) + y  ^  s + %k%))
            }
    }

XCBC(x, u,v, k0,k1,k2,k3, l0,l1, m0,m1)
    {
        Loop % Ceil(StrLen(x)/16)-1   ; full length intermediate message blocks
           XCBCstep(u, v, x, k0,k1,k2,k3)
        
        If (StrLen(x) = 16) ; full length last message block
            {
               u := u ^ l0  ; l-key modifies last state
               v := v ^ l1
               XCBCstep(u, v, x, k0,k1,k2,k3)
            }
                else
                     {        ; padded last message block
                           u := u ^ m0  ; m-key modifies last state
                           v := v ^ m1
                           x = %x%100000000000000
                           XCBCstep(u, v, x, k0,k1,k2,k3)
                    }
        return Hex8(u) . Hex8(v)       ; 16 hex digits returned
    }

XCBCstep(ByRef u, ByRef v, ByRef x, k0,k1,k2,k3)
    {
        StringLeft  p, x, 8 ; Msg blocks
        StringMid   q, x, 9, 8
        StringTrimLeft x, x, 16
        p = 0x%p%
        q = 0x%q%
        u := u ^ p
        v := v ^ q
        TEA(u,v,k0,k1,k2,k3)
    }

Hex8(i)   ; 32-bit integer -&gt; 8 hex digits
    {
        format = %A_FormatInteger%   ; save original integer format
        SetFormat Integer, Hex
        i += 0x100000000    ; convert to hex, set MS bit
        StringTrimLeft i, i, 3   ; remove leading 0x1
        SetFormat Integer, %format%  ; restore original format
        return i
    }
    
Hex(ByRef b, n=0)  ; n bytes data -&gt; stream of 2-digit hex
    {       ; n = 0: all (SetCapacity can be larger than used!)
        format = %A_FormatInteger%   ; save original integer format
        SetFormat Integer, Hex   ; for converting bytes to hex
        
        m := VarSetCapacity(b)
        If (n &lt; 1 or n &gt; m)
            n := m
        Loop %n%
            {
                x := 256 + *(&amp;b+A_Index-1)    ; get byte in hex, set 17th bit
                StringTrimLeft x, x, 3    ; remove 0x1
                h = %h%%x%
            }
        SetFormat Integer, %format%  ; restore original format
        return h
    }</code></pre></div><p>На выходе получаем некое число, например, 9B7F948DACACCC27 являющееся уникальным идентификатором. На основе этого скрипта на своем компьютере скомпилировал exe файл, чтобы можно было оперативно получать фингерпринты других компьютеров.<br />Теперь проблема, на которую наткнулся: копирую на нужный компьюьтер exe и ahk. Запускаю. И результаты работы двух файлов различаются, хотя это один и тот же скрипт! Почему? Везде установлены Win7x64, AHK v1.1.16.04</p>]]></description>
			<author><![CDATA[null@example.com (emmetoya)]]></author>
			<pubDate>Wed, 04 Feb 2015 13:48:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=91292#p91292</guid>
		</item>
	</channel>
</rss>
