Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Предложите задачу   Найти похожие ветки 

 
Копир ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.67 MB
Время: 0.061 c
2-1269205855
AntonioBanderas
2010-03-22 00:10
2010.08.27
Роли FireBird(2.1.3)


2-1272172207
@!!ex
2010-04-25 09:10
2010.08.27
Как програмно удалить IE Cookes и сохраненные пароли?


15-1265614586
Andy BitOff
2010-02-08 10:36
2010.08.27
Крик души в чате.


15-1271104202
Юрий
2010-04-13 00:30
2010.08.27
С днем рождения ! 13 апреля 2010 вторник


2-1265983724
Unior
2010-02-12 17:08
2010.08.27
Как узнать дату понедельника на этой неделе?