GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (1)   Поиск:  
 Автор Тема: Занимательная задачка для прогеров ИИ
Роджер Веселый
Сообщений: 225
Занимательная задачка для прогеров ИИ
Добавлено: 11 май 13 14:13
Недавно столкнулся с приложением ZendGuard, утилитка служит для защиты интеллектуальной собственности php-прогеров от пиратского размножения.
Ее принцип: скрипт шифруется, это легко ломается(в нете есть инфа). Но во второй части, исходник когда "расфигачивается": добавляется куча левых функций, переменных и искаженными именами и твои 100 строчек кода превращаются в 1 мегабайт ботвы, которую невозможно читать и понять логику скрипта, но по функциональности она идентична изначальной.
Алгоритм "расфигачивания" не такой уж и сложный, его логику можно проследить почитав денек коды, но в ручную его корректировать на приемлемый это жесть-рутина.
Вот предложение, проанализировать: как он работает и сбацать утилитку автоматической(полуавтоматической) коррекции кода в нормальный понятный вид.

Постановка задачи:
Хакнуть Zend.

П.С. ZendGuard это очень популярный сервис защиты от пиратства php-скриптов. Сам от стоит около 600$. И посему есть хороший спрос на услуги его взлома. На этом алгоритме можно заработать копеечку. И их дефицит, только китайцы делают телодвижения в этом направлении.
Кому идея понравилась, инфу нагуглите.
[Ответ][Цитата]
гость
31.181.246.*
На: Занимательная задачка для прогеров ИИ
Добавлено: 12 май 13 11:43
А от чего сам не сделаеш? Например в базу данных внеси все возможные ничего не делающие функции и отфильтруй скрипт. Глядиш со временем разовьётся до вундервафли исправляющей пхп скрипты любой сложности в скрипты сложности минимальной.
[Ответ][Цитата]
Роджер Веселый
Сообщений: 225
На: Занимательная задачка для прогеров ИИ
Добавлено: 12 май 13 16:23
Цитата:
Автор: гость 31.181.246.*

А от чего сам не сделаешь?


К сожалению, у мня сейчас нехватка свободного времени, и не могу себе позволить на пару неделек(а то и месяц) погрузиться полностью в задачку.
Задачу предлагаю потому, что от чтения мессаг ИИ-шного форума у меня изжога. Если отфильтровать словоблудие, задачи которые здесь решают(решали) в основном бред, без входных и выходных данных. Вот и предлагаю реальную задачу ИИ-шного характера с девизом: "Даешь пишу для ума народу".

Цитата:

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


Там сдецл покруче запутывание скрипта, каждая строчка имеет свою функцию, и если какую-небуть тупо грохнуть, скрипт станет ошибочный, по сути каждая функция нужна. Но там рабочая функция ссылается к функции которая нафиг не нужна. Почитать код надо, алгоритм перемешивания бросается в глаза, не такой уж и сложный. Т.е. под статус "невозможно" проанализировать не подходит.
Тут в задаче сам стиль проганья красивый, написать программу изменяющую программы, это не тупо переменные типа int обмусоливать.
Программа это есть строка, и алгоритм будет работать со строкой, бегать по строке: записывать себе, ставить метки, перемещать подстроки, удалять...
Методов тут большое разнообразие.
[Ответ][Цитата]
гость
31.181.246.*
На: Занимательная задачка для прогеров ИИ
Добавлено: 13 май 13 5:44
Цитата:
К сожалению, у мня сейчас нехватка свободного времени
Врёш, свободного времени у тебя полно, научись им пользоваться.
[quote]Программа это есть строка, и алгоритм будет работать со строкой, бегать по строке: записывать себе, ставить метки, перемещать подстроки, удалять...[quote]А я тебе говорю мона не анализировать алгоритм а тупо заменять одно на другое. Любая функция сколь она не была бы запутана имеет логику и другая более компактная и выполняющая ту же логику легко её заменит без негативных последствий. Темболее если учесть, что набор операторов ограничен как логически так и тем как его используют то количество возможных комбинаций запутывания тоже ограничено, а кто будет писать скрипты в мегабайты длинной, не 1-2 а десятки - никто, слишком затратно. Значит обуздав ограничения имея в базе достаточно шаблонов запутанных функций и их простых эквивалентов можно сложный скрипт сделать в два три пять раз проще.
[Ответ][Цитата]
 Стр.1 (1)