26

Re: AHK: Проверка защиты скрипта.

Есть "Кулибины", которые этим занимаются в целях самообразования, не преследуя никаких целей. А есть ещё те, кто это творчество монетизирует, при этом оставляя в открытом доступе довольно приличные "заманухи", с которых тоже можно стартовать своё обучение, но то, не для слабых духом.

Так что, увы, вся защита кода:

Malcev пишет:

Вопрос только в интересе или цене.

27 (изменено: baplo, 2018-06-23 00:01:50)

Re: AHK: Проверка защиты скрипта.

teadrinker пишет:

Кстати, перемудрил немного, правильно так:

Как я понимаю, только на обфускацию можно рассчитывать?
И если изменить стандартный пароль, я думаю от этого толка мало.
Эх, жалко.

P.S Я просто не помню, менял ли я пароль, при компиляции файла

Люблю когда мне понижают репутацию (мне правда все равно)

28

Re: AHK: Проверка защиты скрипта.

baplo пишет:

Как я понимаю, только на обфускацию можно рассчитывать?

Почему, можно собрать свою версию AHK_H, как я выше писал.

Я просто не помню, менял ли я пароль, при компиляции файла

При компиляции не получится поменять, пароль вшит в исходный код, поменять его можно только там.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

29 (изменено: baplo, 2018-06-23 09:04:40)

Re: AHK: Проверка защиты скрипта.

teadrinker пишет:

При компиляции не получится поменять, пароль вшит в исходный код, поменять его можно только там.

Зачем же тогда предлагают ввести пароль при компиляции?

https://i.imgur.com/m9Ng1V9.png

К сожалению я не силён в C++

Люблю когда мне понижают репутацию (мне правда все равно)

30

Re: AHK: Проверка защиты скрипта.

Не знаю, зачем, видимо, просто не доделано.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

31

Re: AHK: Проверка защиты скрипта.

Не, всё доделано.
Просто ahk2exe не может сам прочитать пароль из Autohotkey.exe.
Поэтому оба пароля должны совпадать.

32 (изменено: teadrinker, 2018-06-25 09:49:16)

Re: AHK: Проверка защиты скрипта.

Не совсем тебя понял. Наоборот, это AutoHotkey.exe читает пароль из ahk2exe и с его помощью шифрует код скрипта, но так как в AutoHotkey.exe новый пароль не сохраняется, расшифровать обратно он его уже не может.
Кстати, учитывая что пароль записывается в результирующий файл открытым текстом, это легко можно исправить, по-крайней мере, если сохранить длину пароля прежней.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

33

Re: AHK: Проверка защиты скрипта.

HotKeyIt писал:

Ahk2Exe is not able to read the password from AutoHotkey.exe.
User needs to enter the password used in AutoHotkey.exe so Ahk2Exe can encrypt the data properly.

https://autohotkey.com/boards/viewtopic … 237#p38237

34

Re: AHK: Проверка защиты скрипта.

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

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

35 (изменено: Malcev, 2018-06-25 14:22:39)

Re: AHK: Проверка защиты скрипта.

Я так понял, что в этом и смысл, что компиляция произойдет в любом случае, но файл не запустится если пароли не совпадут.

teadrinker пишет:

AutoHotkey.exe читает пароль из ahk2exe и с его помощью шифрует код скрипта

А что тогда делает эта функция?

ZipRawMemory(&data, len, zip, UsePassword)

https://github.com/HotKeyIt/ahkdll-v1-r … mpiler.ahk

36

Re: AHK: Проверка защиты скрипта.

Ну да, но файл-то правильно зашифруется с новым паролем. Чтобы такой файл запустился, достаточно его пропатчить, заменив пароль на новый.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

37

Re: AHK: Проверка защиты скрипта.

Malcev пишет:

А что тогда делает эта функция?

Шифрует код, а пароль как раз используется из Ahk2Exe.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

38

Re: AHK: Проверка защиты скрипта.

Ну тогда получается, что всё доделано?

39

Re: AHK: Проверка защиты скрипта.

За исключением того, что новый пароль не сохраняется.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

40

Re: AHK: Проверка защиты скрипта.

А ты пробовал собрать исходники с другим паролем, скомпилировать скрипт и вытащить пароль?

41

Re: AHK: Проверка защиты скрипта.

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

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

42

Re: AHK: Проверка защиты скрипта.

А как собирал?
Я пробовал изменить букву A на B тут, после компиляции переименовывал  AutoHotkey в Ahk2Exe, компилировал им скрипт, но пароль оставался прежним.

pw[i] = pwd == g_default_pwd ? (TCHAR) _T("A\0\0\0\0u\0\0\0\0t\0\0\0\0o\0\0\0\0H\0\0\0\0o\0\0\0\0t\0\0\0\0k\0\0\0\0e\0\0\0\0y\0\0\0\0")[i*5] : (TCHAR)*pwd[i];

https://github.com/HotKeyIt/ahkdll/blob … .cpp#L3219

43

Re: AHK: Проверка защиты скрипта.

Не нужно переименовывать, используй старый Ahk2Exe, там укажи новый пароль, а в качестве интерпретатора укажи новый AutoHotkey.exe.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

44 (изменено: Malcev, 2018-06-25 21:15:37)

Re: AHK: Проверка защиты скрипта.

Так вообще не запускается.
Может потому что на выходе после MVS я получаю файл размером 1.09 MB (1,146,880 bytes)?
И вот тут автор пишет, что можно свою функцию по созданию пароля вписать.
Как думаешь, со своей функцией тоже пароль виден будет?
https://github.com/HotKeyIt/ahkdll/issues/15

45

Re: AHK: Проверка защиты скрипта.

Значит, собрал неправильно. Со своей функцией можно придумать, чтоб пароль как-то шифровался, тогда будет сложнее.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

46 (изменено: MandarinKa02, 2018-06-25 22:09:58)

Re: AHK: Проверка защиты скрипта.

Можно сделать по другому: взять mac текущей машины+пароль и всё это в hash. Чем длиннее пароль, тем больше потребуется вычислительных мощностей, чтоб раскодировать пароль. Можно еще несколько раз завернуть в hash, приписать пару значений и хацкер не будет спать очень длительный промежуток времени.

47

Re: AHK: Проверка защиты скрипта.

teadrinker пишет:

Не нужно переименовывать, используй старый Ahk2Exe, там укажи новый пароль, а в качестве интерпретатора укажи новый AutoHotkey.exe.

А для таких чайников, как я, можно вообще что то понять из того, что вы сказали?

И еще интересно, можно ли все эти перепачты и изменения пароля автоматизировать в том же AHK скрипте?И если да, то почему все еще никто такого не изобрел?о.о

Как я понял, в окошке с паролем нет смысла, если патча Ahk2Exe нет?

P.S сложно для меня, т.к я в этом не разбирался

Люблю когда мне понижают репутацию (мне правда все равно)

48 (изменено: stealzy, 2018-06-26 00:59:01)

Re: AHK: Проверка защиты скрипта.

Когда вы занимаетесь security through obscurity нужно делать так, чтобы никто кроме вас не знал как вы это сделали. В этом и заключается безопасность.
Если кто-то сделает и покажет как он это сделал, то вся защита пропадает.

baplo пишет:

почему все еще никто такого не изобрел?

HotkeyIt изобрел и показал. Теперь вы недовольны что он это показал, ведь если вы сделаете также, это не будет секретом.
Поэтому HotkeyIt прямым текстом говорит делать по-своему. Если вы не осиливаете сделать по-своему или писать на компилируемых языках, то может и защита вам не нужна? Откуда уверенность, что кто-то вообще настолько заинтересуется творчеством "чайника"? Продаете лицензии тысячами? Страдаете от пиратов? Наймите программиста, пусть перепишет ядро на плюсах или вынесет код на сервер, это не дорого с вашими-то оборотами .

49

Re: AHK: Проверка защиты скрипта.

stealzy пишет:

Когда вы занимаетесь security through obscurity нужно делать так, чтобы никто кроме вас не знал как вы это сделали.

В принципе согласен, хотя патчер уже написал.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

50 (изменено: Malcev, 2018-06-26 07:10:20)

Re: AHK: Проверка защиты скрипта.

teadrinker пишет:

Значит, собрал неправильно

А ты какой версией собирал?
Я делал по этой инструкции, но что-то видно пошло не так.
https://autohotkey.com/boards/viewtopic … mp;t=13373

teadrinker пишет:

Со своей функцией можно придумать, чтоб пароль как-то шифровался, тогда будет сложнее.

Но пароль будет находиться всё-равно после слова DllImport?