![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Хотелось бы услышать ваши предложения по поводу обфускации чисел. Т.е. нужно превратить данное число в сложное, визуально "пугающее" выражение, которое в итоге все равно дает это заданное число.
Чем больше вариантов, тем лучше) Вопрос может быть даже скорее алгоритмический, чем перловый, однако, будет плюсом задействовать какие-то перловые "фишки" (japh, особенности синтаксиса и т.п.), собственно поэтому он здесь. PS: у меня почему-то фантазия в данном направлении работать отказалась =( -------------------- Died at Life.pl line 21 |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Это сообщение отредактировал(а) amg - 11.2.2008, 12:32 |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
amg, спасибо, пригодится.
Тема все еще актуальна, буду рад вашим предложениям (не только JAPH, но и математическим манипуляциям) UPDATE2: на 9ой строке варианта amg лучше будет заменить регулярку вот на эту:
чтобы правильно обрабатывать вещественные числа Это сообщение отредактировал(а) KSURi - 11.2.2008, 15:15 -------------------- Died at Life.pl line 21 |
|||
|
||||
| AlexPet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 5.12.2007 Где: Брянск Репутация: 1 Всего: 1 |
Правильно ли я понимаю, что нужно построить некую биекцию (взаимно-однозначное соответствие) между любым числом и неким "пугающим выражением"? |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Прочитал в вики, что такое биекция...) Да, вы правильно поняли.
-------------------- Died at Life.pl line 21 |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Добавлено через 3 минуты и 50 секунд А я понял, что, кроме этого, скрипт должен правильно исполниться без применения внешних средств (а то можно зазиповать, будет максимально нечитабельно, и взаимно-однозначное соответствие тоже будет) Добавлено через 14 минут и 47 секунд Еще одна мысль. Переопределить какой нибудь оператор так, чтобы он, например, декодировал base64, и, соответственно, операндом ему давать закодированное число. Правда, при этом придется к скрипту модуль прилагать. |
|||
|
||||
| AlexPet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 5.12.2007 Где: Брянск Репутация: 1 Всего: 1 |
Тогда еще вопрос по математическому преобразованию (безо всяких хитрых обфукаторов и JAPH):
Допустимо ли выдавать вместо числа X функцию F(X), при условии, что известна обратная функция F^{-1}(X), т.ч. F^{-1}(F(X)) = X? Если да (т.е. не требуется выдавать некое выражение, после применения eval к которому получим исходное число), то таких хитрых функций можно придумать великое множество. Простейший пример: F(X) = X*X F^{-1}(X) = sqrt(X) (здесь в силу машинной погрешности рискуем не получить исходный икс) Или так: F(X) = X + 1 F^{-1} = X - 1 Думаю, в этом направлении можно копать для целочисленных функций, в т.ч. поциферно. Если, конечно, я правильно понял... Это сообщение отредактировал(а) AlexPet - 11.2.2008, 14:24 |
|||
|
||||
| under_sun |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 3.10.2007 Где: Ебург Репутация: нет Всего: 17 |
Вариант с мат. манипуляциями:
Конечно, не так "страшно", как у amg
--------------------
TMTOWTDI |
||||
|
|||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
under_sun, спасибо, результат очень похож на то, на что я нацелился изначально. Осталось внедрить случайную расстановку скобок без влияния на конечный результат, но это я уж сам)
Если можно, вопрос: каким образом вы подбирали цепочку мат. вычислений? -------------------- Died at Life.pl line 21 |
|||
|
||||
| AlexPet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 5.12.2007 Где: Брянск Репутация: 1 Всего: 1 |
KSURi,
under_sun изящно подобрал математические тождества. Знаете, часто в учебниках бывают задачи: "Докажите тождество". Или: "Упростите выражение". Здесь именно это. В первом случае формулы сокращенного умножения + разложение на множители (и получаем в итоге a - b), во втором случае - свойства натурального логарифма (и получаем в итоге то же m). Совет - посмотреть учебники 9-11 классов в области преобразований и упрощений ;) Это сообщение отредактировал(а) AlexPet - 12.2.2008, 09:54 |
|||
|
||||
| under_sun |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 3.10.2007 Где: Ебург Репутация: нет Всего: 17 |
AlexPet абсолютно прав, каждое из выражений упрощается с использованием школьных формул.
--------------------
TMTOWTDI |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Ну застыдили прям) Спасибо, не обратил внимания.
-------------------- Died at Life.pl line 21 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |