Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизПредложите задачу Найти похожие ветки
← →
Копир © (2010-04-08 18:01) [80]>Игорь Шевченко © (08.04.10 17:43) [78] :
I will
← →
Копир © (2010-04-08 18:10) [81]>TUser © (08.04.10 17:54) [79] :
>Вот другой пример: набор возможных картин 1000х1000 пикселей, очевидно,
ограничен, но где вы видели сайт с такой галереей искусства?
Не понятно, причём тут сайт?
Если победа Deep Blue покоилась на понимании, на запоминании, на контроле
всех известных шахматных партий - то это не победа над человеческим шахматистом.
Это победа отличника в школе, который не думает, а лишь зубрит.
Программисты запихнули архив в память, а глупый автомат выбирает.
Память книжного шкафа во много раз превосходит (в байтах) память его (шкафа)
владельца. Но ещё ни одному книжному шкафу не удалось придумать новую сказку.
← →
TUser © (2010-04-08 18:14) [82]Вы понимаете разницу между утверждениями:
некое множество конечно
иуказанное множество известно человечеству, вычислено его компьютерами и доступно в Интернете
?
← →
Копир © (2010-04-08 18:18) [83]>TUser © (08.04.10 18:14) [82] :
>Вы понимаете разницу между утверждениями:
некое множество конечно и указанное множество известно человечеству, вычислено его
компьютерами и доступно в Интернете
Нет.
Объясните разницу, пожалуйста?
← →
Копир © (2010-04-08 18:31) [84]Старый, старый анекдот времён Windows 3.11:
Программа обыграла юзера в шахматы.
Юзер: Опять Windows глючит :)
← →
Наиль © (2010-04-09 20:44) [85]> [73] xayam © (08.04.10 13:29)
> а названия переменных/функций/процедур можно заменять до
> выполнения eval на другие, нечто вроде обфускации
Направление мысли правильное, но правильное решение всё-таки:
> [43] McSimm © (01.04.10 13:53)
> Гораздо проще просто запустить внешний компилятор и выполнить
> исполняемый код.
Если подменить в системных библиотеках паскаля функции обращения к диску своими функциями, которые будут перенаправлять все операции в песочницу, то откомпилированная программа будет в полной уверености, что работает с реальной файловой системой.
Например, песочница - большой файл с информацией о каталогах, файлах и их содержимом. FindFirst, FindNext будут получать информацию о файлах из песочницы, а Read, Write считывать и записывать в файлы песочницы.
Но! Поддельные функции обращения к файлам будут использовать реальные функции которые нужны для работы с файлом песочницы. При некоторой сноровке можно узнать адрес реальных функций и вызывать их по адресу.
Поэтому нужно фильтровать исходный код пользователя на наличие @func выражений.
И всё равно злоумышленик может обратиться к реальному дисковому пространству.
Помешаем ему, удалением из его кода функций inline и ASM-вставок.
Попробуйте догадатся, как ещё он может подобраться к содержимому сервера?
Да легко, элементарным вызовом из своей программы внешних программ.
Поэтому, нужно подменить все функции которые могут вызвать постороние программы, так что бы они направлялись в песочницу.
Вся эта защита не спасает, всё равно у программы есть возможность выскочить из песочницы.
Чтобы избежать этого используем последний рубеж защиты.
Откомпилированная программа должна запускаться под специальным пользователем, которому доступен лишь один файл - файл песочницы. В этом случае все нехорошие действия программы будут натыкаться на сопротивление операционной системы.
Самое гланое, что для этого не нужен ни Yacc ни PHP, а лишь знание Паскаля и правильная настройка прав доступа.
← →
Копир © (2010-04-09 20:56) [86]>Наиль © (09.04.10 20:44) [85] :
>Помешаем ему, удалением из его кода функций inline и ASM-вставок.
А как помешать-то?
Способствовать хакерам?
Это их методы.
ASM - это добровольный способ от Борланда вставлять асс. коды.
Каждому по способностям.
Запрещать. Нам не дано. И слава Богу.
А то, тут всё запрещаем, запрещаем.
И никуда Россия не движется.
Запрещяя.
← →
TUser © (2010-04-09 21:16) [87]
> Нет.
> Объясните разницу, пожалуйста?
Это может только педагог уровня макаренки - не я, короче.
← →
Nickloa2 (2010-04-09 22:01) [88]>xayam © (31.03.10 20:57)
подумай длям начала, а почему ты сидишь без работы и тебе нечем заняться?
Могу пояснить ситуацию. С форумом и участниками данного ворума я знаком давно, но..., к сожалению на всех поинтовках мне с ними не о чем было разговаривать, потому что они все на голову, а то и на десяток выше меня. Но в этом форуме нужно задавать только адекватные вопросы, именно - каков вопрос, таков ответ.
Отдельное здрасте Юрию Швченко (НЛП помним:))
← →
KSergey © (2010-04-09 22:55) [89]Я так вижу задача найдена, любимая.
Языками почесать ни о чем.
Да уж, эт мы горазды.
← →
Nickola2 © (2010-04-09 23:00) [90]KSergey © (09.04.10 22:55) [89]
Ок. Простая задача: согласовать SPI - интерфейс микроконроллера на ядре ARM 32 с приложением на компьютере для проверки источников элекропитания.
← →
xayam © (2010-04-09 23:13) [91]
> Наиль © (09.04.10 20:44) [85]
> Самое гланое, что для этого не нужен ни Yacc ни PHP, а лишь
> знание Паскаля и правильная настройка прав доступа.
Максим вроде имел ввиду реализацию именно на php, иначе не интересно
> Nickloa2 (09.04.10 22:01) [88]
> >xayam © (31.03.10 20:57)
> подумай длям начала, а почему ты сидишь без работы и тебе
> нечем заняться?
да работа есть, я два через два работаю, вот два выходных такой ерундой занимаюсь.
PS Юрия зовут Игорь :)
← →
Nickola2 © (2010-04-09 23:18) [92]>xayam © (09.04.10 23:13) [91]
Прошу прощения, немного пьян. Действительно Игорь Шевчнеко, но вспомнил Юрия Зотова :)(спасибо ему за его уроки). По Subject: когда не чем занаяться, подумай, а может то, что ты сделал можно улучшить? Иногда помогает:)
← →
xayam © (2010-04-09 23:24) [93]
> Nickola2 © (09.04.10 23:18) [92]
> Subject: когда не чем занаяться, подумай, а может то, что ты сделал можно улучшить?
да ничего особенного еще не сделано :)
← →
Nickola2 © (2010-04-09 23:28) [94]>xayam © (09.04.10 23:24) [93]
Тогда подумай чего хочется сделать. Могу привести в пример себя (прошу простить за нескромность) - разарботаль схемотехнику источника элекропитпния с КПД не менее 95%, жду оформления патента. Но нет пердела совершенству :)
← →
McSimm © (2010-04-10 00:25) [95]
>
> Если подменить в системных библиотеках паскаля функции обращения
> к диску своими функциями, которые будут перенаправлять все
> операции в песочницу, то откомпилированная программа будет
> в полной уверености, что работает с реальной файловой системой.
>
Этого мало.
Реальный компилятор позволяет слишком много. Сколько ни ставь заглушек - программист найдет лазейку. Взять хотя бы возможности адресной арифметики.
Настоящая песочница это не прикрытие потенциально опасных возможностей, это окружение делается принципиально безопасным (кроме ошибок реализации).
Вспомнилось.
Давно когда-то была долгая и активная дискуссия о том, как сделать подобие песочницы для самого PHP, чтобы позволить посетителям вводить код скрипта и выполнять, хотя бы ограниченное подмножество. Разумеется, хотелось использовать реальный транслятор, "благо" возможностей для "обезопасивания" в нем, на первый взгляд, просто уйма (ограничение рабочей папки, запрет фунций, и пр.). Сколько ни предлагалось вариантов - всегда находился новый подход обойти запреты и напакостить. Как резюме все участники сошлись, что идея не реализуема.
← →
McSimm © (2010-04-10 00:27) [96]
> Максим вроде имел ввиду реализацию именно на php, иначе
> не интересно
Нет, вопрос изначально стоял про PHP. И в такой постановке лично мне задача кажется весьма интересной.
← →
Наиль © (2010-04-10 10:59) [97]> [96] McSimm © (10.04.10 00:27)
> Нет, вопрос изначально стоял про PHP. И в такой постановке
> лично мне задача кажется весьма интересной.
Как вполне адекватный программист, который должен получить РЕЗУЛЬТАТ (соответствующий ТЗ) за наименьшее время, я вижу, что для создания Sandbox Pascal изменение системных библиотек паскаля даст более быстрый результат, чем создатние преобразователя Паскаль-кода на языке PHP, на сколько бы интересным это не было. Главное, что из PHP можно вызвать паскалевский компилятор, который приготовит исполняемый файл в нужном виде.
> [95] McSimm © (10.04.10 00:25)
> Реальный компилятор позволяет слишком много. Сколько ни
> ставь заглушек - программист найдет лазейку. Взять хотя
> бы возможности адресной арифметики.
Имено это я подразумевал под
> [85] Наиль © (09.04.10 20:44)
> Вся эта защита не спасает, всё равно у программы есть возможность
> выскочить из песочницы.
Правда, не подумал в контексте компилятора, а ведь компилятор тожно можно подправить и это решит все остальные проблемы. Естественно, это тоже не простая задача, но по объём работы, значительно меньше, чем для PHP-варианта.
Я так считаю, потому что как раз сейчас разбираюсь с Harbour (http://www.harbour-project.org/). Harbour конвертирует клиперовские программы в байт-код, который интегрируется в си-программу. Полученая программа исполняет байт-код используя виртуальную машину. Другими словами, Pascal Sanbox это тот же Harbour, только вместо паскаля Клипер, а вместо Си PHP.
Проекту Harbour 10 лет, и лишь 2 последних года он не только развивается, а используется по назначению.
Поэтому если есть 8 сводных лет на создание Pascal sandbox PHP based, то это действительно разумно.
← →
xayam © (2010-04-12 12:02) [98]
> Поэтому если есть 8 сводных лет на создание Pascal sandbox
> PHP based, то это действительно разумно.
это время можно значительно сократить во времена генераторов анализаторов :) Не?
← →
Наиль © (2010-04-12 17:40) [99]> это время можно значительно сократить во времена генераторов
> анализаторов :) Не?
Возможно, но Харбор как раз построен на гераторах и анализаторах, bison и Flex.
Без них было бы дольше.
← →
xayam © (2010-04-12 17:49) [100]
> Наиль © (12.04.10 17:40) [99]
> Возможно, но Харбор как раз построен на гераторах и анализаторах,
> bison и Flex.
думаю с этим будет быстрее http://www.antlr.org Только грамматику написать паскаля и немного кода
← →
xayam © (2010-04-13 01:01) [101]
> http://www.antlr.org
прикольная штука, лексер сгенирировался, а парсер не хочет. Кто-нибудь работал с этими грамматиками для antlr? http://www.delphimaster.net/pascal.txt
← →
xayam © (2010-04-13 14:45) [102]народ, помогайте для Вас делаю :) Что может быть с этой грамматикой не так?
← →
xayam © (2010-04-16 11:48) [103]up
← →
xayam © (2010-04-20 12:59) [104]Немного переделал
http://www.delphimaster.net/pascal.txt
Стало почти не осталось ошибок, но по-прежнему генерится только лексер и стали выдаваться две ошибки:
1) internal error: no such group file AST.stg
2) internal error: no such group file ASTParser.stg
Проверил - таких файлов действительно нет, а они видимо используются для генерации парсера, в папке пакета org\antlr\codegen\templates\Php есть только файл Php.stg
На официальном сайте про это написано только то что можно установить опцию output=template но с такой опцией выдается другие две ошибки:
1) AST operator with non-AST output option: template
2) internal error: no such group file ST.stg
Первое я не понял, второе - файла действительно нет в папке org\antlr\codegen\templates\Php
Что я делаю не так? Как создать эти файлы AST.stg ASTParser.stg ST.stg?
← →
КаПиБаРа (2010-04-20 18:11) [105]http://webproxy.2s.ru/?proxyreferer=86474707a3f2f296d6164723031303e29716e6465687e22757f227563757c64737 &page=/datasets
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.66 MB
Время: 0.06 c