Доброго времени суток.
Насколько я знаю - Perl славится своей возможностью написать программу не читаемую среднестатистическим программером, посредством использования умолчаний и прочих "перловых" фенечек.Сам неоднократно встречал посты типа
"Подскажите, что делает сдледующий код:
#!/usr/bin/perl
,;s/"@#4-;,'@"\\/;$Q^,,//;
"Ну это образно выражаясь.
Прежде чем постить месадж почитал немного на эту тему. Все источники сводятся либо к использованию сторонних модулей Sypher, Byteloader и т.д. либо к методике "source mangling" - Создание бессмысленных имен переменных, отказ от разбиения на логические абзацы кода программы, не использование переносов строки и т.д.И все же это не совсем то. Ибо не дает результата - показанного мною в "примере".
Имеется ли документация о нечто подобном, или это просто склад ума + доскональное знание языка. Буду признателен за любые tips&tricksА вообще все сводится к тому, что в тексте некоего большого скрипта нужно спрятать максимально завуалированный код
exit 0 if ($some_variable eq 'some_value');
some_value желательно задать не в явном виде (это числовое значение - возможно получить математическими расчетами либо прочитать из стороннего файла (опять же максимально завуалированно))
Всем заранее спасибо.
>Доброго времени суток.
>Насколько я знаю - Perl славится своей возможностью написать программу не читаемую
>среднестатистическим программером, посредством использования умолчаний и прочих "перловых" фенечек.
>
>Сам неоднократно встречал посты типа
>"Подскажите, что делает сдледующий код:
>#!/usr/bin/perl
>,;s/"@#4-;,'@"\\/;$Q^,,//;
>"
>
>Ну это образно выражаясь.
>Прежде чем постить месадж почитал немного на эту тему. Все источники сводятся
>либо к использованию сторонних модулей Sypher, Byteloader и т.д. либо к
>методике "source mangling" - Создание бессмысленных имен переменных, отказ от разбиения
>на логические абзацы кода программы, не использование переносов строки и т.д.
>
>
>И все же это не совсем то. Ибо не дает результата -
>показанного мною в "примере".
>Имеется ли документация о нечто подобном, или это просто склад ума +
>доскональное знание языка. Буду признателен за любые tips&tricks
>
>А вообще все сводится к тому, что в тексте некоего большого скрипта
>нужно спрятать максимально завуалированный код
>
>exit 0 if ($some_variable eq 'some_value');
>
>some_value желательно задать не в явном виде (это числовое значение - возможно
>получить математическими расчетами либо прочитать из стороннего файла (опять же максимально
>завуалированно))
>
>Всем заранее спасибо.Это называется Obfuscated code(http://en.wikipedia.org/wiki/Perl#Fun_with_Perl).
Поиск в гугле выдаст много ссылок. Требует очень хорошего знания языка, как минимум.
Почему-бы просто не воспользоваться perl2exe?
>Это называется Obfuscated code(http://en.wikipedia.org/wiki/Perl#Fun_with_Perl).
>Поиск в гугле выдаст много ссылок. Требует очень хорошего знания языка, как
>минимум.
>Почему-бы просто не воспользоваться perl2exe?Сколько я не экспериментировал с perl2exe - ничего, сложнее примитивных алгоритмов он брать не хочет.
Когда в скрипт включается модуль (а их есть DBI, Socket, Date::Calc) - программа или не компилится вообще, или компилится, но не запускается.
Как выход - использовать компилятор perlcc с ключем -B, генерирующим код для модуля Byteloader.И все же это не то, что хотелось бы.
Очень интересно освоить "высший пелоаж".
Спасибо за референс. Буду искать.
>Доброго времени суток.
>Насколько я знаю - Perl славится своей возможностью написать программу не читаемую
>среднестатистическим программером, посредством использования умолчаний и прочих "перловых" фенечек.
>
>Сам неоднократно встречал посты типа
>"Подскажите, что делает сдледующий код:
>#!/usr/bin/perl
>,;s/"@#4-;,'@"\\/;$Q^,,//;
>"
>
>Ну это образно выражаясь.
>Прежде чем постить месадж почитал немного на эту тему. Все источники сводятся
>либо к использованию сторонних модулей Sypher, Byteloader и т.д. либо к
>методике "source mangling" - Создание бессмысленных имен переменных, отказ от разбиения
>на логические абзацы кода программы, не использование переносов строки и т.д.
>
>
>И все же это не совсем то. Ибо не дает результата -
>показанного мною в "примере".
>Имеется ли документация о нечто подобном, или это просто склад ума +
>доскональное знание языка. Буду признателен за любые tips&tricks
>
>А вообще все сводится к тому, что в тексте некоего большого скрипта
>нужно спрятать максимально завуалированный код
>
>exit 0 if ($some_variable eq 'some_value');
>
>some_value желательно задать не в явном виде (это числовое значение - возможно
>получить математическими расчетами либо прочитать из стороннего файла (опять же максимально
>завуалированно))
>
>Всем заранее спасибо.
Попробую догадаться.
Авторизационную информацию не скроешь, все равно найдут!
Воспользуйся системой SSL сертификатов.