The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Запутать код на Perl"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Запутать код на Perl"  
Сообщение от MTHawk email(??) on 31-Май-06, 13:24 
Доброго времени суток.
Насколько я знаю - Perl славится своей возможностью написать программу не читаемую среднестатистическим программером, посредством использования умолчаний и прочих "перловых" фенечек.

Сам неоднократно встречал посты типа
"Подскажите, что делает сдледующий код:
#!/usr/bin/perl
,;s/"@#4-;,'@"\\/;$Q^,,//;
"

Ну это образно выражаясь.
Прежде чем постить месадж почитал немного на эту тему. Все источники сводятся либо к использованию сторонних модулей Sypher, Byteloader и т.д. либо к методике "source mangling" - Создание бессмысленных имен переменных, отказ от разбиения на логические абзацы кода программы, не использование переносов строки и т.д.

И все же это не совсем то. Ибо не дает результата - показанного мною в "примере".
Имеется ли документация о нечто подобном, или это просто склад ума + доскональное знание языка. Буду признателен за любые tips&tricks

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

exit 0 if ($some_variable eq 'some_value');

some_value желательно задать не в явном виде (это числовое значение - возможно получить математическими расчетами либо прочитать из стороннего файла (опять же максимально завуалированно))

Всем заранее спасибо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Запутать код на Perl"  
Сообщение от idle (ok) on 02-Июн-06, 18:02 
>Доброго времени суток.
>Насколько я знаю - 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?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Запутать код на Perl"  
Сообщение от MTHawk email(??) on 05-Июн-06, 11:02 
>Это называется Obfuscated code(http://en.wikipedia.org/wiki/Perl#Fun_with_Perl).
>Поиск в гугле выдаст много ссылок. Требует очень хорошего знания языка, как
>минимум.
>Почему-бы просто не воспользоваться perl2exe?

Сколько я не экспериментировал с perl2exe - ничего, сложнее примитивных алгоритмов он брать не хочет.
Когда в скрипт включается модуль (а их есть DBI, Socket, Date::Calc) - программа или не компилится вообще, или компилится, но не запускается.
Как выход - использовать компилятор perlcc с ключем -B, генерирующим код для модуля Byteloader.

И все же это не то, что хотелось бы.
Очень интересно освоить "высший пелоаж".
Спасибо за референс. Буду искать.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Запутать код на Perl"  
Сообщение от dsl email on 07-Июн-06, 04:47 
>Доброго времени суток.
>Насколько я знаю - Perl славится своей возможностью написать программу не читаемую
>среднестатистическим программером, посредством использования умолчаний и прочих "перловых" фенечек.
>
>Сам неоднократно встречал посты типа
>"Подскажите, что делает сдледующий код:
>#!/usr/bin/perl
>,;s/"@#4-;,'@"\\/;$Q^,,//;
>"
>
>Ну это образно выражаясь.
>Прежде чем постить месадж почитал немного на эту тему. Все источники сводятся
>либо к использованию сторонних модулей Sypher, Byteloader и т.д. либо к
>методике "source mangling" - Создание бессмысленных имен переменных, отказ от разбиения
>на логические абзацы кода программы, не использование переносов строки и т.д.
>
>
>И все же это не совсем то. Ибо не дает результата -
>показанного мною в "примере".
>Имеется ли документация о нечто подобном, или это просто склад ума +
>доскональное знание языка. Буду признателен за любые tips&tricks
>
>А вообще все сводится к тому, что в тексте некоего большого скрипта
>нужно спрятать максимально завуалированный код
>
>exit 0 if ($some_variable eq 'some_value');
>
>some_value желательно задать не в явном виде (это числовое значение - возможно
>получить математическими расчетами либо прочитать из стороннего файла (опять же максимально
>завуалированно))
>
>Всем заранее спасибо.


Попробую догадаться.
Авторизационную информацию не скроешь, все равно найдут!
Воспользуйся системой SSL сертификатов.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру