1

Тема: AHK: Шифровка исходного кода

Здравствуйте. У меня есть код скрипта (где-то 120к символов), я его конвертирую в exe и распространяю, но есть такие, кто добираются до исходного кода скрипта без особых проблем. Потому мне нужно зашифровать код, не подскажете как это сделать мне?

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

2

Re: AHK: Шифровка исходного кода

Отличная идея. Мне тоже будет интересно услышать совет.

3 (изменено: svoboden, 2017-06-02 05:38:21)

Re: AHK: Шифровка исходного кода

Такие темы уже поднимались на форуме. Я нашел только два варианта, это либо обфуска́ция кода, либо mpress. Но, честно признаться, первое - это какая-то ерунда, а mpres - это не выход, можно легко взломать код. Так что, мне тоже интересно послушать, еще какие-нибудь советы по данному вопросу.

4

Re: AHK: Шифровка исходного кода

Философия Autohotkey — открытый исходный код. Так что, если хотите его скрыть, выбирайте другой язык.

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

5

Re: AHK: Шифровка исходного кода

Плохо однако, что-ж, будем что-то думать, спасибо за ответ.

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

6 (изменено: svoboden, 2017-06-02 05:39:15)

Re: AHK: Шифровка исходного кода

mpress` ом сожми, много кто не догадается, как распаковать exe файл.

7 (изменено: svoboden, 2017-03-11 21:37:46)

Re: AHK: Шифровка исходного кода

teadrinker, а как же пароли? Я, например, вбиваю пароли через скрипты. Хотелось бы их зашифровать как-нибудь.

8

Re: AHK: Шифровка исходного кода

Ксорьте их с каким-нибудь мастер-паролем и так храните, а его держите в уме. Пусть скрипт его у вас запрашивает.

9 (изменено: svoboden, 2017-04-21 01:36:14)

Re: AHK: Шифровка исходного кода

YMP
Поподробнее можно? Где взять этот мастер-пароль в AutoHotkey и что значит - Ксорить?

10

Re: AHK: Шифровка исходного кода

Придумать самому. Ксорить — выполнять операцию xor. Погуглите, это известный способ шифрования.

11 (изменено: svoboden, 2016-12-27 13:18:36)

Re: AHK: Шифровка исходного кода

YMP, вы про такое шифрование имеете в виду.

12

Re: AHK: Шифровка исходного кода

Ну, это что-то навороченное. Пример такого шифрования можно посмотреть в AHK: Шифрование текста.

13 (изменено: svoboden, 2017-04-21 01:38:56)

Re: AHK: Шифровка исходного кода

YMP пишет:

Ну, это что-то навороченное. Пример такого шифрования можно посмотреть в AHK: Шифрование текста.

Ну, хорошо, я зашифровал текст. И как мне этот зашифрованный текст использовать как пароль на сайте? Командой Send, что ли писать что-то типа этого: прѓЀЙЌёЪѨѽ@4

14

Re: AHK: Шифровка исходного кода

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

15 (изменено: svoboden, 2016-12-26 13:34:49)

Re: AHK: Шифровка исходного кода

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

16 (изменено: YMP, 2016-12-26 13:58:02)

Re: AHK: Шифровка исходного кода

Всё просто: если вам нужно хранить свои пароли (в коде скрипта или в отдельном файле) зашифрованными, чтобы никто их не мог оттуда узнать, то для их шифрования можно использовать xor.

Скрипт, вбивающий куда-то пароли, у вас уже есть, судя по сообщению выше. Единственное, что нужно туда добавить — мою (или другую) функцию шифрования и дешифровки. Т.е. вместо кода


Send, MyPassword

будет, например, код


Send, % Cipher("прѓЀЙЌёЪѨѽ@4", MasterPassword)

Значение MasterPassword скрипт будет у вас запрашивать, в коде скрипта его нет, поэтому и никакой злоумышленник его оттуда не узнает. А все остальные пароли в коде вставлены в зашифрованном виде, и ему от них никакой пользы не будет.

Запросить мастер-пароль можно командой InputBox, например, или выводить для этого окошко GUI. В какой момент это делать, решать вам.

17 (изменено: YMP, 2016-12-26 14:03:54)

Re: AHK: Шифровка исходного кода

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

18 (изменено: svoboden, 2017-03-11 06:09:58)

Re: AHK: Шифровка исходного кода

Это полные непонятки какие-то. Максимум, что мне удалось понять, это то, что через функцию (Src, Key1, Key2 = 0, Key3 = 0), можно походу зашифровать любой текст или пароль. Но ведь сама функция видна в скрипте? А мне надо скрыть любой способ доступа к паролю.

19

Re: AHK: Шифровка исходного кода

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

20 (изменено: svoboden, 2017-04-21 01:43:03)

Re: AHK: Шифровка исходного кода

Покажите пример. Да, текст шифруется, но он же остается видным в скрипте. Куда этот мастер пароль вводить и как его создать?

21

Re: AHK: Шифровка исходного кода

svoboden пишет:

А как же пароли? Я например, вбиваю пароли через скрипты. Хотелось бы их зашифровать как-нибудь.

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

svoboden пишет:

Да текст шифруется, но он остается же видным в скрипте там.

Ну и что? В зашифрованном виде он там будет. Сначала одним скриптом зашифруете все свои пароли, а потом в зашифрованном виде вставите в тот скрипт, который посылает их на сайтах или ещё где. В шифрующем скрипте пароли удалите.

22 (изменено: svoboden, 2017-04-21 01:16:23)

Re: AHK: Шифровка исходного кода

YMP пишет:

Ну и что? В зашифрованном виде он там будет

И что, что злоумышленник не сможет расшифровать эти пароли, там же будет функция Cipher(Shifr, Key3, Key2, Key1), или она там что тоже шифруется, или как?
Не, все, признайтесь, ни очень способ шифрования этот тоже.

23

Re: AHK: Шифровка исходного кода

svoboden пишет:

что? Что злоумышленник не сможет расшифровать эти пароли, там же будет функция Cipher(Shifr, Key3, Key2, Key1)

А значения этих Key3, Key2, Key1 он откуда возьмёт?

24 (изменено: svoboden, 2017-03-11 21:47:37)

Re: AHK: Шифровка исходного кода

YMP пишет:

А значения этих Key3, Key2, Key1 он откуда возьмёт?

И что, без этих значений скрипт будет работать что ли?

25

Re: AHK: Шифровка исходного кода

В том-то и дело, что нет. Он их запросит у пользователя. Вы их ему дать сможете, а злоумышленник нет. Потому как не знает он их, а вы знаете.

26 (изменено: svoboden, 2017-03-11 21:52:29)

Re: AHK: Шифровка исходного кода

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

27

Re: AHK: Шифровка исходного кода

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

28 (изменено: svoboden, 2017-04-21 01:06:43)

Re: AHK: Шифровка исходного кода

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

29

Re: AHK: Шифровка исходного кода

А чтобы на форум войти, надо вводить пароль подходящий. Кругом одни сложности. Нет чтобы ввёл что попало — и оно подошло. Не жизнь пошла бы, а малина.

30 (изменено: svoboden, 2017-03-11 04:24:24)

Re: AHK: Шифровка исходного кода

Да, блин, вводить пароль, чтобы ввести пароль.... Оригинально, однако.

31

Re: AHK: Шифровка исходного кода

Тут фишка в том, что надо будет помнить только один пароль. Все остальные уже будут в скрипте, причём в бесполезном для кражи виде. Вводить его можно один раз при запуске скрипта, например. Или при первой попытке использовать какой-то из паролей. А потом он будет в переменной, пока скрипт работает. Запросить можно так:


InputBox, MasterPassword, Запрос от скрипта такого-то, Введите мастер-пароль, HIDE
MsgBox, Вы ввели %MasterPassword%

32 (изменено: svoboden, 2017-04-21 01:48:13)

Re: AHK: Шифровка исходного кода

Так, а мастер пароль при открытии скрипта будет виден же. Его тоже по идее надо зашифровать, или как?

33

Re: AHK: Шифровка исходного кода

Ну вот, тема про скрытие исходного кода превратилась в флейм по использованию менеджера паролей.
svoboden, существует целый класс таких программ, их не обязательно писать самим:
keepass (я пользуюсь), lastpass, roboform, ...

34 (изменено: svoboden, 2017-04-21 01:52:42)

Re: AHK: Шифровка исходного кода

Не то чтобы спор, так, дискуссия. Ладно, все я зашифровал текст, и то хорошо.

35

Re: AHK: Шифровка исходного кода

svoboden пишет:

Так а мастер пароль при открытии скрипта будет виден же. Его тоже по идее надо зашифровать, или как?

Кому он будет виден? Где?

svoboden пишет:

Да ни то чтобы спор, так дискуссия. Ладно все я зашифровал текст и то хорошо.

Ну хоть какая-то польза.

36

Re: AHK: Шифровка исходного кода

stealzy пишет:

Ну вот, тема про скрытие исходного кода превратилась в флейм по использованию менеджера паролей.

Тема эта здесь уже баян, поднималась десяток раз, и ничего нового никто не скажет. Шифрование исходного кода в экзешнике возможно при использовании AutoHotkey_H. Это тоже уже обсуждалось.

37 (изменено: svoboden, 2017-02-03 13:52:51)

Re: AHK: Шифровка исходного кода

Ну, должен же скрипт знать про мастер пароль? Значит, где-то он есть же в скрипте?

38

Re: AHK: Шифровка исходного кода

Я например, вбиваю пароли через скрипты

А зачем? Думаю, при желании их всё-равно можно будет перехватить сниффером.

39 (изменено: svoboden, 2017-04-21 01:56:07)

Re: AHK: Шифровка исходного кода

Malcev, так это же скрипты, можно команду написать, само кнопку нажмет, само поля заполнит, удобней, чем менеджер паролей какой-нибудь.

40 (изменено: svoboden, 2017-04-21 01:56:17)

Re: AHK: Шифровка исходного кода

Malcev пишет:

А зачем? Думаю, при желании их всё-равно можно будет перехватить сниффером.

Так это же скрипты, можно команду написать, само кнопку нажмет, само поля заполнит, удобней, чем менеджер паролей какой-нибудь.

41

Re: AHK: Шифровка исходного кода

Ну это если самому использовать, то да.
Только тогда от кого вы хотите шифровать?
Если захотят вас взломать, то взломают.

42 (изменено: YMP, 2016-12-26 19:58:24)

Re: AHK: Шифровка исходного кода

svoboden пишет:

Ну должен же скрипт знать про мастер пароль? Значит где-то он есть же скрипте?

В коде скрипта его нет. А отловить его в памяти уже сложнее.

Абсолютной безопасности не бывает, бывает больший или меньший риск.

43 (изменено: svoboden, 2016-12-26 21:33:57)

Re: AHK: Шифровка исходного кода

YMP пишет:

В коде скрипта его нет

Так где он тогда?

44 (изменено: svoboden, 2017-03-11 04:33:22)

Re: AHK: Шифровка исходного кода

Malcev пишет:

Если захотят вас взломать, то взломают.

Да, знаю я. Просто удобней и как можно безопасней сделать, вот и все.

45 (изменено: svoboden, 2016-12-27 10:19:13)

Re: AHK: Шифровка исходного кода

stealzy пишет:

svoboden, существует целый класс таких программ, их не обязательно писать самим:
keepass (я пользуюсь), lastpass, roboform, ...

Сравнили менеджеры паролей и скрипты. Скрипты удобней ведь.

46

Re: AHK: Шифровка исходного кода

svoboden пишет:

Так где он тогда? Как его установить?

См. пост 31.

47

Re: AHK: Шифровка исходного кода

;Key1 = AutoHotkey forever!
;Key2 = Хрен поймёшь, что тут написано.
;Key3 = 1234567890
InputBox, Key1
InputBox, Key2
InputBox, Key3

shifr = ѦЇВ2ЎВОЋѽР
Text := Cipher(Shifr, Key3, Key2, Key1) ; Дешифруем, ключи в обратном порядке.
MsgBox, % Text


; =============== Функция шифровки/дешифровки ====================

Cipher(Src, Key1, Key2 = 0, Key3 = 0)  ; Два последних ключа необязательны.
{
   Loop, 3
   {
      If not Key%A_Index%
         Break
      StringSplit, Keys, Key%A_Index%  ; Разбиваем фразу на отдельные ключи.
      Dest =
      Loop, Parse, Src  ; Перебор символов текста.
      {
         Index := Mod(A_Index, Keys0) + 1  ; Чтобы Index не вышел за пределы
                                                            ; числа символов в ключевой фразе.
         Key := Asc(Keys%Index%)   ; Очередной ключ.
         Code := Asc(A_LoopField)  ; Код очередного символа текста.
         Dest .= Chr(Code = Key ? Code : Code ^ Key) ; Шифруем и добавляем.
      }
      Src := Dest
   }
   Return Dest
}

48 (изменено: svoboden, 2018-03-02 06:54:17)

Re: AHK: Шифровка исходного кода

Все, тему прекращайте, мастер пароль мне не нужен.
Malcev, спасибо, но как шифровать текст, я знаю.

49

Re: AHK: Шифровка исходного кода

Сравнили менеджеры паролей и скрипты. Скрипты удобней ведь намного.

Чем же?
Жму Ctrl+Alt+A и KeePass, определив ресурс, сам вводит логин, пароль и ентер.
С браузерным плагином открываю страницу авторизации и у меня уже и логин и пароль вбиты, остается только ентер нажать.
Разумеется все это после авторизации в KeePass.
На андроиде тоже он. Зашифрованная база синхронизируется через облако.
И не только пароли. Текст, файлы, все можно хранить в зашифрованной базе.

Ну и насчет безопасности.
Зная ваш пароль на одном ресурсе и заполучив ваш скрипт, я буду знать все ваши пароли.
Любой кейлоггер может перехватит и мастер пароль и вводимые скриптом пароли.
С KeePass такое не прокатит: для мастер пароля используется встроенный в Windows защищенный десктоп для ввода UAC, а его перехватить простым кейлоггером неполучиться, на форуме есть тема про попытку ввода в окно UAC, посмотрите. Пароли в браузере KP вводит через плагин.

Назовете хоть один плюс вашего скрипта, удивите меня.

50

Re: AHK: Шифровка исходного кода

для мастер пароля используется встроенный в Windows защищенный десктоп для ввода UAC, а его перехватить простым кейлоггером неполучиться

Почему не получится? Достаточно будет его запустить от SYSTEM.

51

Re: AHK: Шифровка исходного кода

Malcev, под простым кейлоггером я подразумеваю запуск от пользователя или админа.
Вы еще про драйвер напишите (;.
Кстати, вы уверены, что перехватывать запись в UAC можно без драйвера?

52

Re: AHK: Шифровка исходного кода

Да. Только что запустил такой скрипт:

a::
msgbox
FileAppend, a, d:\001.txt

Все комманды были исполнены.

53 (изменено: stealzy, 2016-12-27 07:02:12)

Re: AHK: Шифровка исходного кода

А UAC у вас с затемнением рабочего стола выскакивает?

54

Re: AHK: Шифровка исходного кода

Да. А у вас не получается?
Делал так:
http://forum.script-coding.com/viewtopi … 03#p105903

55

Re: AHK: Шифровка исходного кода

К чему такие сложности? Я храню пароли пользователей в гугл документе в md5 виде. В окошко вводим например 1234 -> оно конвертируется в md5 --> скачивается гугл документ в csv, сравниваются пароли --> удаляется csv.

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

56 (изменено: svoboden, 2017-03-19 00:10:56)

Re: AHK: Шифровка исходного кода

stealzy, как уже писали выше: "Если захотят вас взломать, то найдут какой-нибудь способ как это сделать". Я говорю про себя, мне удобней скрипт запустить и вставлять пароли им, чем использовать менеджеры паролей. Скрипт намного удобней и интересней. Допустим, по автозамене вбивать пароли легче, чем запоминать сочетание клавиш, которых так повсюду много. Например, нажал 3 раза точку "." и все, попадаешь на сайт.