1

Тема: AHK: Получение скомпилированным скриптом собственного кода

Здравствуйте, уважаемые. Такой вопрос: возможно ли записать в скрипте что-то, чтобы в будущем, когда скрипт будет компилирован в .exe, я мог извлечь его же код в какую-нибудь переменную? Объясню чуть понятнее: создаю функцию, которая узнает собственный код скрипта и возвращает его, потом я присваиваю этой функции какую-нибудь переменную var и вывожу с помощью FileAppend в другой текстовый файл. Не уверен что вообще возможно это, но кроме вас никто мне помочь в этом не сможет. Есть два варианта:
1) Более предпочтительный. Вывод кода скомпилированного и сжатого с помощью mpress скрипта.
2) Простой вывод кода скомпилированного с помощью стандартного ahk2exe скрипта.
Надеюсь на вашу помощь.

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

2

Re: AHK: Получение скомпилированным скриптом собственного кода

Где то в памяти процесса это есть, но не знаю где.
Как костыль могу предложить перед компиляцией заносить код скрипта в переменную. Лучше так.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Получение скомпилированным скриптом собственного кода

serzh82saratov, не понял где в вашем посте (ссылку на который вы дали), можно найти этот самый костыль. Впрочем меня такой костыль устраивает, но где нужно копать? Модифицировать ahk2exe или же что-то в скрипте писать? И как это сделать?

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

4 (изменено: ypppu, 2017-03-26 09:52:00)

Re: AHK: Получение скомпилированным скриптом собственного кода

FileInstall позволяет извлекать в файл.
Также можно переносы строки заменять: http://forum.script-coding.com/viewtopic.php?id=12493. Правда, если скрипт очень длинный, он в переменную не влезет.

5

Re: AHK: Получение скомпилированным скриптом собственного кода

Значит как такового, способа оставить "секретную" команду в скрипте, чтобы извлечь, когда нужно, его код, содержащий более 100к строчек нету, верно?

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

6

Re: AHK: Получение скомпилированным скриптом собственного кода

Я и serzh82saratov предложили варианты. FileInstall чем не устраивает?

7

Re: AHK: Получение скомпилированным скриптом собственного кода

ypppu, я не понимаю просто как использовать ваши варианты. В случае с serzh82saratov я ожидаю дополнительных объяснений, а в вашем случае вы говорите что нельзя большой скрипт в переменную перевести. Steazy, ну то раз все так просто, дайте мне код какой-нибудь пожалуйста. Я не хочу вручную вскрывать собственный скрипт. Мне проще посидеть 20 минут, написать пару сотен строчек, чтобы потом все за секунды извлекать.

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

8

Re: AHK: Получение скомпилированным скриптом собственного кода

belyankin12, всё очень просто. Командой FileInstall прикрепляете к скомпилированному скрипту файл, содержащий код скрипта. Команду FileInstall можно назначить на какую-нибудь ГК. При нажатии на неё скрипт распакует исходник в нужную папку.

9

Re: AHK: Получение скомпилированным скриптом собственного кода

ypppu, ммм. Вот оно как, сейчас попробую что-нибудь простенькое написать.

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

10

Re: AHK: Получение скомпилированным скриптом собственного кода

Все работает, отлично, спасибо!

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

11 (изменено: mozers, 2017-03-29 15:08:34)

Re: AHK: Получение скомпилированным скриптом собственного кода

"Компиляция" в AHK - по сути не превращение кода в бинарник, а упаковка в один контейнер исходного кода скрипта и инерпретатора команд. Так что код лежит цёлехонький в ресурсе RC Data (называется >AHK WITH ICON<).
Полагаю, что извлечь не составит особого труда...

12

Re: AHK: Получение скомпилированным скриптом собственного кода

При использовании mpress (вопрос автора №1) из ресурса код не вытянешь.

13

Re: AHK: Получение скомпилированным скриптом собственного кода

Все очень просто.
Создаем текстовый файл в директории с .ahk файлом туда отправляем свой исходный код целиком.


^F1::
FileInstall, Ваш код.txt, Sourse.txt(.ahk), 1

Ну а дальше Ваша фантазия.

14 (изменено: stealzy, 2017-03-29 23:42:27)

Re: AHK: Получение скомпилированным скриптом собственного кода

Все-таки не понимаю, зачем это делать — добавлять текст с кодом скрипта к самому скрипту?
Если я хочу заглянуть в код старого ехе, я смотрю его версию (указываю версию в гуи, можно еще и в свойствах файла), или дату создания.
Далее в папке с кодом нахожу соответствующую версию/дату (для небольших скриптов просто по мере изменения пересохраняю как новый файл с версией в имени), либо, если создан git репозиторий, нахожу через git соответсвующий коммит и откатываюсь к нему.

15

Re: AHK: Получение скомпилированным скриптом собственного кода

stealzy, если бы все было так просто. А если я криворукий потерял исходный код? Именно поэтому я создал эту тему, потому что чуть не потерял его.

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

16

Re: AHK: Получение скомпилированным скриптом собственного кода

belyankin12, Ну если потеряли, то смело декомпилируйте файл.

Как сказал мой дед - Я твой дед

17 (изменено: stealzy, 2017-03-30 16:55:12)

Re: AHK: Получение скомпилированным скриптом собственного кода

belyankin12, а если вы потеряли, то как вы теперь в "скомпилированный" скрипт FileInstall впихнете?
Делаете дамп и открываете в текстовом редакторе, находите и копируете код скрипта.

18

Re: AHK: Получение скомпилированным скриптом собственного кода

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

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

19

Re: AHK: Получение скомпилированным скриптом собственного кода

А не судьба хранить скрипты в виде исходного кода? Каждый раз после компиляции ahk-файл удаляете?

20

Re: AHK: Получение скомпилированным скриптом собственного кода

ypppu, почитайте выше и ясно будет как дело было.

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

21

Re: AHK: Получение скомпилированным скриптом собственного кода

belyankin12 пишет:

А если я криворукий потерял исходный код?

С тем же успехом можно потерять скомпилированный скрипт, не так ли?

22

Re: AHK: Получение скомпилированным скриптом собственного кода

ypppu, не потеряю, потому что я его распространяю. У меня есть где-то 30 постоянных пользователей и если в свой скрипт вшить код как-нибудь, он всегда будет при мне. Конечно опасность есть, ведь пользователи смогут извлечь этот файл с кодом, но это уже зависит от того, как глубоко я его зарою:).

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

23

Re: AHK: Получение скомпилированным скриптом собственного кода

http://i.smiles2k.net/msn_smiles/msn.gif

24 (изменено: sergeiplugatyr, 2017-03-31 21:40:52)

Re: AHK: Получение скомпилированным скриптом собственного кода

А не проще ли тогда пользоваться облаком и заливать туда исходный код? Или тогда добавлять в ресурсы зашифрованный исходный код, который по секретной комбинации клавиш в скомпилированном скрипте будет расшифровываться и сохраняться рядом с exe.

Как сказал мой дед - Я твой дед

25

Re: AHK: Получение скомпилированным скриптом собственного кода

Всё равно это странно: бояться, что код затеряется на собственном компьютере.

А в чём опасность извлечения исходного кода? После компиляции код остаётся легкодоступным. Кому нужно - извлекут. Но это другая тема: AHK: Компиляция, декомпиляция и защита исходного кода.

26

Re: AHK: Получение скомпилированным скриптом собственного кода

Если есть хороший криптор, можно ресурс этот и в .exe добавлять. Идеальной защиты все равно не существует, кто захочет тот все равно откроет.
Как я уже писал, самый удобный и просто будет вариант с FileInstall. Читайте выше.