<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17285</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17285&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe».]]></description>
		<lastBuildDate>Wed, 31 Aug 2022 16:50:24 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154591#p154591</link>
			<description><![CDATA[<p>Что то с памятью моей стало...<br />Всё получилось, прилепил BASE64.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 31 Aug 2022 16:50:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154591#p154591</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154590#p154590</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>как зашифровать ей строку в обычную строку</p></blockquote></div><p>Так я же <a href="http://forum.script-coding.com/viewtopic.php?pid=154300#p154300">объяснял</a> уже.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 31 Aug 2022 16:29:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154590#p154590</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154586#p154586</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>У меня так работает на версии 1.1.33.10:<br /></p><div class="codebox"><pre><code>string:=&quot;This is a message from AutoHotkey.&quot;
sz := ZipRawMemory(string, StrLen(string) * 2 + 2, var, &quot;password&quot;) ; подразумевается UTF-16
UnZipRawMemory(&amp;var, sz, text, &quot;password&quot;)
MsgBox % text

string := &quot;Hello, World&quot;
size := StrPutBuff(string, buf)
size := CryptAES(&amp;buf, size, &quot;sdfKIop&quot;, true, 128)
MsgBox, % StrGet(&amp;buf, size, &quot;UTF-8&quot;)
size := CryptAES(&amp;buf, size, &quot;sdfKIop&quot;, false, 128)
MsgBox, % StrGet(&amp;buf, size, &quot;UTF-8&quot;)

StrPutBuff(str, ByRef buff, encoding := &quot;UTF-8&quot;) {
   VarSetCapacity(buff, len := (StrPut(str, encoding) - 1) &lt;&lt; (encoding ~= &quot;i)^(UTF-16|cp1200)$&quot;))
   StrPut(str, &amp;buff, encoding)
   Return len
}</code></pre></div><p>В первом примере + 2 не обязательно, но желательно.</p></blockquote></div><p>То ли я всегда пробовал этот код целиком, но CryptAES заработал, ошибка была в ZipRawMemory.<br />Чё то всё равно не доходит, как зашифровать ей строку в обычную строку, и после эту строку дешифровать.</p><div class="codebox"><pre><code>#SingleInstance Force
#NoEnv
SetBatchLines, -1

decstring := &quot;Hello, World&quot;
size := StrPutBuff(decstring, decbuf)
size := CryptAES(&amp;decbuf, size, &quot;sdfKIop&quot;, true, 128)
encstring := StrGet(&amp;decbuf, size, &quot;UTF-8&quot;)
MsgBox, % encstring

size := StrPutBuff(encstring, encbuf)
size := CryptAES(&amp;encbuf, size, &quot;sdfKIop&quot;, false, 128)
MsgBox, % StrGet(&amp;encbuf, size, &quot;UTF-8&quot;)

StrPutBuff(str, ByRef buff, encoding := &quot;UTF-8&quot;) {
   VarSetCapacity(buff, len := (StrPut(str, encoding) - 1) &lt;&lt; (encoding ~= &quot;i)^(UTF-16|cp1200)$&quot;))
   StrPut(str, &amp;buff, encoding)
   Return len
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 31 Aug 2022 15:34:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154586#p154586</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154437#p154437</link>
			<description><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>насколько тут по-взрослому.</p></blockquote></div><p>Ну видимо на сколько-то. От школьника есть защита, уже хорошо. Насколько я слышал, питон и ява тоже не защищены достойно, хотя на счёт ява может и ошибаюсь.<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>можно скинуться и на кворке заказать взлом и проверить насколько крепка защита</p></blockquote></div><p>А вот это не надо, так и появляются в итоге публичные методы взлома.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 17 Aug 2022 14:07:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154437#p154437</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154403#p154403</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>AHK_L, школьник взломает, а тут вроде всё по взрослому.</p></blockquote></div><p>Вопрос конечно интересный, насколько тут по-взрослому.<br />Я с хакерами не знаком, виртуально знаю только одного - очень серьезного, но он точно заниматься подобными глупостями не будет.<br />Если есть интерес, то можно скинуться и на кворке заказать взлом и проверить насколько крепка защита.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 15 Aug 2022 09:55:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154403#p154403</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154336#p154336</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>если в переменной бинарные данные, её нельзя возвращать через return</p></blockquote></div><p>Это да, косяк. Надо указатель передавать когда это требуется.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 11 Aug 2022 11:45:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154336#p154336</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154334#p154334</link>
			<description><![CDATA[<p>К тому, что если в переменной бинарные данные, её нельзя возвращать через return.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 11 Aug 2022 11:31:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154334#p154334</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154332#p154332</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Но так тоже как строку возвращает, пример:</p></blockquote></div><p>А к чему этот пример, что то не понял.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 11 Aug 2022 09:05:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154332#p154332</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154331#p154331</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>с ней же заработало</p></blockquote></div><p>А, не очень внимательно посмотрел. Там было<br /></p><div class="codebox"><pre><code>   	If crypt
		Return outData</code></pre></div><p>Но так тоже как строку возвращает, пример:<br /></p><div class="codebox"><pre><code>data := CryptString()
MsgBox, % data
MsgBox, % Format(&quot;{:#x}&quot;, NumGet(data, &quot;Int64&quot;))

CryptString() {
   VarSetCapacity(outData, 8, 0)
   NumPut(0x6100000061, outData, &quot;Int64&quot;)
   VarSetCapacity(outData, -1)
   MsgBox, % outData
   MsgBox, % Format(&quot;{:#x}&quot;, NumGet(outData, &quot;Int64&quot;))
   Return outData
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 11 Aug 2022 06:55:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154331#p154331</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154330#p154330</link>
			<description><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А смысл возиться и плясать с бубном с AHK_H?</p></blockquote></div><p>Ну он с шифрованием кода, с антиотладчиком, в памяти вроде части кода затирает чтобы в дампе памяти не видно было. AHK_L, школьник взломает, а тут вроде всё по взрослому.<br />И многопоточность без танцев с бубнами.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 11 Aug 2022 06:01:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154330#p154330</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154329#p154329</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Ну да, это строка и это неправильно</p></blockquote></div><p>Вроде верно, так, с ней же заработало.<br /></p><div class="codebox"><pre><code>
CryptString(string, password, iv := &quot;&quot;, crypt := true, algorithm := &quot;AES&quot;, textEncoding := &quot;UTF-8&quot;) {
; crypt: true — encrypt, false — decrypt
	If crypt
		lenInData := StrPutBuff(string, inData, textEncoding) 
	Else 
		lenInData := StringBase64ToData(string, inData)
    
   hLib := DllCall(&quot;LoadLibrary&quot;, &quot;Str&quot;, &quot;Bcrypt.dll&quot;, &quot;Ptr&quot;)
   lenPasswordData := StrPutBuff(password, passwordData, textEncoding)
   lenHashPassword := CreateHash(&amp;passwordData, lenPasswordData, hashPassword)
   pHashIv := lenIv := 0
   
   if (iv != &quot;&quot;) {
      lenIvData := StrPutBuff(iv, ivData, textEncoding)
      lenHashIv := CreateHash(&amp;ivData, lenIvData, hashIv)
      VarSetCapacity(iv16, 16, 0)
      DllCall(&quot;RtlMoveMemory&quot;, &quot;Ptr&quot;, pHashIv := &amp;iv16, &quot;Ptr&quot;, &amp;hashIv + lenHashIv - 16, &quot;Ptr&quot;, lenIv := 16)
   } 
   crypt := (crypt ? &quot;En&quot; : &quot;De&quot;) . &quot;crypt&quot;
   lenOutData := Bcrypt(&amp;inData, lenInData, outData, &amp;hashPassword, lenHashPassword, pHashIv, lenIv, algorithm, crypt)
   DllCall(&quot;FreeLibrary&quot;, &quot;Ptr&quot;, hLib)  
   	If (crypt = &quot;Encrypt&quot;)
		Return CryptBinaryToStringBASE64(&amp;outData, lenOutData, 1) 
   Return StrGet(&amp;outData, lenOutData, textEncoding) 
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 11 Aug 2022 05:56:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154329#p154329</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154326#p154326</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Попробовал на виртуалке, работает. Что за ерунда может мешать работе этих функций...</p></blockquote></div><p>А смысл возиться и плясать с бубном с AHK_H?</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 11 Aug 2022 02:49:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154326#p154326</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154325#p154325</link>
			<description><![CDATA[<p>Либо, если уж хочется иметь одну и ту же функцию для шифрования и расшифровки строки, то в случае шифрования возвращать сразу base64, а в случае расшифровки строку.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 10 Aug 2022 22:35:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154325#p154325</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154324#p154324</link>
			<description><![CDATA[<div class="codebox"><pre><code>Return StrGet(&amp;outData, lenOutData, textEncoding)</code></pre></div><p>Ну да, это строка и это неправильно. Функция должна вернуть буфер и его длину.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 10 Aug 2022 21:34:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154324#p154324</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Убрать всплывающую ошибку у файла AutoHotkey.exe]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=154323#p154323</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>А у тебя CryptString() пытается вернуть строку.</p></blockquote></div><div class="codebox"><pre><code>
CryptString(string, password, iv := &quot;&quot;, crypt := true, algorithm := &quot;AES&quot;, textEncoding := &quot;UTF-8&quot;) {
; crypt: true — encrypt, false — decrypt
	If crypt
		lenInData := StrPutBuff(string, inData, textEncoding) 
	Else 
		lenInData := StringBase64ToData(string, inData)
    
   hLib := DllCall(&quot;LoadLibrary&quot;, &quot;Str&quot;, &quot;Bcrypt.dll&quot;, &quot;Ptr&quot;)
   lenPasswordData := StrPutBuff(password, passwordData, textEncoding)
   lenHashPassword := CreateHash(&amp;passwordData, lenPasswordData, hashPassword)
   pHashIv := lenIv := 0
   if (iv != &quot;&quot;) {
      lenIvData := StrPutBuff(iv, ivData, textEncoding)
      lenHashIv := CreateHash(&amp;ivData, lenIvData, hashIv)
      VarSetCapacity(iv16, 16, 0)
      DllCall(&quot;RtlMoveMemory&quot;, &quot;Ptr&quot;, pHashIv := &amp;iv16, &quot;Ptr&quot;, &amp;hashIv + lenHashIv - 16, &quot;Ptr&quot;, lenIv := 16)
   }
   crypt := (crypt ? &quot;En&quot; : &quot;De&quot;) . &quot;crypt&quot;
   lenOutData := Bcrypt(&amp;inData, lenInData, outData, &amp;hashPassword, lenHashPassword, pHashIv, lenIv, algorithm, crypt)
   DllCall(&quot;FreeLibrary&quot;, &quot;Ptr&quot;, hLib)  
   	If crypt
		Return outData
   Return StrGet(&amp;outData, lenOutData, textEncoding)
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 10 Aug 2022 21:32:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=154323#p154323</guid>
		</item>
	</channel>
</rss>
