1

Тема: AHK: Защита исходного кода при компиляции

Доброго времени суток. Было поднято много тем по этому поводу защиты исходного кода при компиляции, начиная от "mpress" и заканчивая обфускацией . Я чисто случайно обнаружил что код становится не читаем таким программам как "Restorator" если в самом начале скрипта подставить.

#HotkeyInterval, -1 

Банально но "Restorator" не видит и строчки кода. 
Вот пример, так "Restorator" видит код.

Gui, Add, Checkbox, gSoundON, Click
Gui, Show, W150 H130
Return

SoundON:
SoundON := !SoundON
Return

*~lbutton::
if SoundON
 SoundBeep, 1000
Return

GuiClose:
ExitApp

А так уже не видит.

#HotkeyInterval, -1

Gui, Add, Checkbox, gSoundON, Click
Gui, Show, W150 H130
Return

SoundON:
SoundON := !SoundON
Return

*~lbutton::
if SoundON
 SoundBeep, 1000
Return

GuiClose:
ExitApp
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2

Re: AHK: Защита исходного кода при компиляции

Было поднято много тем по этому поводу защиты исходного кода при компиляции

Это точно! И все темы на 1-2 сообщения. Зачем же вы их плодите?

Поэтому я взял штук 5-6 тем и объединил их в одну:
AHK: Компиляция, декомпиляция и защита исходного кода
Текущую тему предлагаю грохнуть.

код становится не читаем таким программам как "Restorator"

Для программы ResHacker это не препятствие.

3

Re: AHK: Защита исходного кода при компиляции

Ресторатор показывает:

; <COMPILER: v1.1.15.04>
#HotkeyInterval, -1
Gui, Add, Checkbox, gSoundON, Click
Gui, Show, W150 H130
Return
SoundON:
SoundON := !SoundON
Return
*~lbutton::
if SoundON
SoundBeep, 1000
Return
GuiClose:
ExitApp
Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.

4

Re: AHK: Защита исходного кода при компиляции

Ну вот попробуйте открыть ResHacker - ом. http://rghost.ru/8Yx6pGsJV

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

5

Re: AHK: Защита исходного кода при компиляции

Он сжат mpress, поэтому и не видно.

6 (изменено: Ядрён, 2015-01-29 12:36:13)

Re: AHK: Защита исходного кода при компиляции

Но я не сжимал его в mpress . У меня только установлен скрипт на компиляцию с выбором иконки.

#SingleInstance Force 
#NoEnv
RegWrite, REG_SZ
, HKEY_CLASSES_ROOT
, AutoHotkeyScript\Shell\КОМПИЛИРОВАТЬ\Command
, , "%A_AhkPath%" "%A_ScriptFullPath%" "`%l"
 
Script = %1% 
FileSelectFile, Icon, , , Выбрать иконку, Файлы иконок (*.ico)
If Icon =
    ExitApp
Run Ahk2exe.exe /restart /in "%Script%" /icon "%Icon%"
MsgBox, , , Скрипт "%Script%" скомпилирован., 1
ExitApp

Правой кнопкой на скрипт, выбрал КОМПИЛИРОВАТЬ выбрал иконку и всё никаких  mpress.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

7

Re: AHK: Защита исходного кода при компиляции

В папке Compiler запустите Ahk2Exe.exe. В открывшемся окошке есть чекбокс Use MPRESS. Видимо, он у вас отмечен, т.к. по факту экзешник сжат mpress — это видно по наличию в нём секций MPRESS1 & MPRESS2.

8

Re: AHK: Защита исходного кода при компиляции

Ядрён пишет:

Ну вот попробуйте открыть ResHacker - ом. http://rghost.ru/8Yx6pGsJV

http://i.imgur.com/v7mQc8N.png

9

Re: AHK: Защита исходного кода при компиляции

ypppu, у вас какой-то эксклюзивный ResHacker, что ли, или это вы прикалываетесь?

10

Re: AHK: Защита исходного кода при компиляции

Не, просто я использовал не ResHacker. Я же автору сразу сказал - не нужно плодить темы. Мы уже обсуждали, что сжатое MPRESS просматривается в памяти.

11

Re: AHK: Защита исходного кода при компиляции

Кстати, ведь АНК вроде как-то "компилирует" текст скрипта перед выполнением. Где-то я читал об этом. Если так, то исходный текст ему нужен только в самом начале, при загрузке. Можно было бы первым делом находить этот текст в памяти и затирать его.

12

Re: AHK: Защита исходного кода при компиляции

YMP, попробуйте написать такой скрипт, а я попробую извлечь из него исходный код.

13

Re: AHK: Защита исходного кода при компиляции

Ну, в отладчике можно остановить выполнение программы в любой точке, так что это тоже не панацея.

14 (изменено: Ядрён, 2015-01-29 22:56:54)

Re: AHK: Защита исходного кода при компиляции

Я пробовал через контекстное меню с выше представленным скриптом и с Ahk2Exe . Ну так вот, с Ahk2Exe скрипт  читаем , а из контекстного меню скрипт не читаем . Я не прикалываюсь я случайно обратил внимание на это. Хотя если посмотреть скрипт контекстного меню, использует команду "Run Ahk2exe.exe" . Что то я запутался как, такое может быть. Вот путь в реестре если это поможет "D:\Program Files\AutoHotkey\AutoHotkey.exe" "E:\Рома\значение скриптов\полезные ahk\компиляция+ иконка.ahk" "%l"    .  Если скрипта по этому пути нет то он не компилирует.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

15

Re: AHK: Защита исходного кода при компиляции

У меня что через контекстное меню, что вручную через программу - без сжимателя компилирует. Может в старой версии программы по умолчанию идёт с mpress? Попробуйте установить последнюю версию (явнварь 2015).

16

Re: AHK: Защита исходного кода при компиляции

Или просто временно переместить файл мпреса в другое место.

Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.

17 (изменено: Ядрён, 2015-01-30 23:55:11)

Re: AHK: Защита исходного кода при компиляции

Alectric пишет:

Или просто временно переместить файл мпреса в другое место.

Да выкинул из папки мпрес и стало всё читаемо что из контекстного меню, что через файл Ahk2exe.exe . Но одно не понятно скрипт контекстного меню не использует мпрес , а обращается напрямую к файлу Ahk2exe.exe .

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

18 (изменено: Alectric, 2015-01-30 19:50:35)

Re: AHK: Защита исходного кода при компиляции

А уже Ahk2exe.exe обращается к мпресу по умолчанию, если он присутствует.

Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.

19

Re: AHK: Защита исходного кода при компиляции

На mpress нервно реагируют некоторые антивирусы. Не из самых умных, видимо, но всё-таки. Если есть планы распространять программу, то надо и это учитывать. https://www.virustotal.com/ru/file/e3ec … 422459221/