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

Вниз

Yar.net для Rouse   Найти похожие ветки 

 
oxffff ©   (2010-08-04 16:14) [0]

Александр, приветствую.

Наконец-то от меня появился первый screenshot.
http://santonov.blogspot.com/2010/08/yarnet-in-wild.html

Собственно, что сейчас есть и над чем я последнее время работаю.

1. Построение семантического дерева.
2. Обходчик дерева с вызовом генератора кода.
3. Сам генератор кода для .NET. Пока формируется код на MSIL ассемблере. Далее отдается ILasm.exe.
Ничего не мешает использовать .NET unmanaged API c формированием кода. Собственно Barry рассказал как это устроено в Delphi.NET в моем вопросе

http://stackoverflow.com/questions/3222328/what-ways-exists-to-generate-msil-from-unmanaged-code

Остается только узучить эти структруры и использовать их.
Но пока не принципиально.

4. Вполне возможно, что все же мой одногруппник по универу примет участии в x86 backend.

Так что я работаю все свое свободное время над YAR.


 
Димка На   (2010-08-04 18:54) [1]

lurkmore.ru/Файл:11318-131945-5c812c9bc8c08b83a416dccd875eac53.jpg


 
Игорь Шевченко ©   (2010-08-04 19:13) [2]

а че, у Розыча мыла нет ?


 
GanibalLector ©   (2010-08-04 20:21) [3]

Так а что это будет-то?


 
oxffff ©   (2010-08-04 20:24) [4]


> Игорь Шевченко ©   (04.08.10 19:13) [2]


Не знаю.


 
oxffff ©   (2010-08-04 20:31) [5]


> GanibalLector ©   (04.08.10 20:21) [3]
> Так а что это будет-то?


Я собственно работаю над ЯП.
Пока не волшебник, пока только учусь.

А Rouse были другие интересы.


 
Rouse_ ©   (2010-08-04 22:26) [6]

Спасиб Сереж, завтра с работу буду изучать...
Все что говорили тогда в плане создания компилятора под твой пикод остается в силе...


 
Rouse_ ©   (2010-08-04 22:28) [7]

Точнее морф-компилера :)


 
Rouse_ ©   (2010-08-04 22:34) [8]


> GanibalLector ©   (04.08.10 20:21) [3]
>
> Так а что это будет-то?

Пока первоначальная задумка - предоставить пользователю среду, в которой он может писать на понятном ему языке программирования код и получать в результате обьектник из защищенный метаморфом. Исхода из Серегиных наработок - задача вполне осуществима, но нужно много и плотно думать над реализацией :)


 
oxffff ©   (2010-08-04 22:55) [9]

Вечер добрый, Саш.

Собственно сейчас я стараюсь предусмотреть построение семантического дерева. И обходчика-генератора, который вызывается back-end целевой машины. Видимо генерация этого back-end будет за тобой.

Вот его частичный интерфейс.

TAbstractBackEnd=class
procedure AddIntegers(paramA,ParamB:TValueExpression;var AssignResultTo:TValueExpression);virtual;abstract;

procedure MultiplyIntegers(paramA,ParamB:TValueExpression;var AssignResultTo:TValueExpression);virtual;abstract;

procedure SubIntegers(paramA,ParamB:TValueExpression;var AssignResultTo:TValueExpression);virtual;abstract;

......................................
procedure AssignOp(Dest,Source:TValueExpression);virtual;abstract;

procedure InitializeOp(Dest,Source:TValueExpression);virtual;abstract;

function  CreateCallFrame
(const MethodImpl:TMethodImplementation):ICallFrame;virtual;abstract;

end;


 
Rouse_ ©   (2010-08-04 23:04) [10]

Меня в первую очередь интересует, как я и говрил в прошлый раз, наличие пикода, который можно отобразить в машкодах - это конечная цель.
По интерфейсу пока рано - ибо не факт что конечные реализаторы морфа будут владеть паскалем, но тут уж посмотрим, благо есть с чего стартовать :)


 
Дмитрий Тимохов   (2010-08-05 00:00) [11]

шо то я ничего не понимаю.
если это частная переписка, то в мыло.
если переписка для просвещения сообщества, то пишите понятней.


 
Дмитрий Тимохов   (2010-08-05 00:05) [12]

Эта... добавлю. Меня более второй вариант удовлетворяет - пишите понятней, я тоже немного в теме защит. Поэтому интересно, что там может получиться с метаморфом и пикодом.


 
я наблюдаю   (2010-08-05 01:20) [13]

Удалено модератором


 
brother ©   (2010-08-05 05:10) [14]

очень похоже на личную переписку, модераторы - ау! ;)
зы но я не против, интересно, что дальше будет)


 
Rouse_ ©   (2010-08-05 09:25) [15]

Ну личная - не личная, однако кому-то может понравиться идея и он сможет присоединиться к проекту. А вдруг? :)


 
Думкин ©   (2010-08-05 09:52) [16]

Походу пацаны, это был пеар.


 
Димка На   (2010-08-05 12:06) [17]

Речь идет о подобии виртуальной машины (всегда разной) для защиты некоторых частей приложения?


 
Rouse_ ©   (2010-08-05 12:09) [18]

О ней, родимой...


 
Димка На   (2010-08-05 12:23) [19]

идея не нова, вчера только слышал об этом, еще о том, что уже и реализация есть отечественная. не про вас ли говорили :)


 
Rouse_ ©   (2010-08-05 12:57) [20]

Нет не про нас, да и такого плана реализаций я пока что не встречал...
Обычно морф идет уже на основе машкода...


 
Димка На   (2010-08-05 13:43) [21]

www.vmprotect.ru мне про это говорили, оно?


 
Rouse_ ©   (2010-08-05 14:19) [22]

Этот как раз навесняк на машкод... Не то


 
Кто б сомневался ©   (2010-08-05 14:30) [23]

А зачем это надо было переносить в публичные обсуждения обращаясь персонально к одному из участнику форума? Очень сырой проект, масштабный, на который уйдет не один год. Чтобы похвастаться своим ЧСВ?


 
oxffff ©   (2010-08-05 14:39) [24]


> Кто б сомневался ©   (05.08.10 14:30) [23]
> А зачем это надо было переносить в публичные обсуждения
> обращаясь персонально к одному из участнику форума? Очень
> сырой проект, масштабный, на который уйдет не один год.
> Чтобы похвастаться своим ЧСВ?


Извини, я не хотел тебя обидеть.


 
Дмитрий С ©   (2010-08-05 14:57) [25]

О, ща начнется :)


> Rouse_ ©   (05.08.10 14:19) [22]
>
> Этот как раз навесняк на машкод... Не то

А вы планируете компилятор непосредственно из, например, паскаля в код вашей машины?


 
Суслик_   (2010-08-05 15:31) [26]

я шо тут не понимаю.

для задач защиты достаточен очень простой (скажем, тупой) язык.

такой язык написать самому можно за 1 рабочий день. вернее парсер с построителем синтаксического дерева. и особой теории знать не надо - автомат простой с алгоритмом обратной польской нотации.

потом надо на основе дерева строить какой-то свой код.
либо машинный, либо пи-код. да мало ли идей.

на таком языке можно писать ответственные части программы.

в чем изюм текущего поста? чем отличается YAR от других парсеров-токенайзеров-анализаторов?


 
oxffff ©   (2010-08-05 15:55) [27]

Деревья разные бывают.

-Дерево разбора
-Синтаксическое
-Семантическое(аннотированное синтаксическое)

о каком речь?

Я так понял, Дмитрий, речь шла о Yacc?
yacc работает с первым деревом.

P.S. YAR - это я язык высого уровня над котором я работаю.
С различными кодогенераторами, общий принцип которых я сейчас пытаюсь структурировать и обобщить. Дабы выставить некий абстрактный интерфейс для заинтересованных. Одним в одном из таких кодогенераторов заинтересован Rouse.


 
oxffff ©   (2010-08-05 15:56) [28]

Rouse, ты полгода назад когда мы пили пиво спросил, через сколько можно что-либо увидеть. Я как раз ответил полгода. Вот теперь я просто сообщил.


 
Дмитрий Тимохов   (2010-08-05 16:17) [29]

Сергей. Дело, конечно, хорошее.

Но по моей памяти YACC строит именно ситаксическое дерево на основе кс грамматики.

Хотя могу ошибаться - давно последний раз писал что-то в этой области.

Я думаю, что сайт тебе надо сделать, или на sourceforge.net открыть проект.


 
oxffff ©   (2010-08-05 16:25) [30]

Не суть. Только yacc строит автомат.
А вот после yacc начинается самое интересное.


 
Дмитрий Тимохов   (2010-08-05 16:46) [31]

насколько я помню lex + yacc дают в результате код автомати, который строит синт. дерево, пригодное для пикодинься и дальнейшего вычисления.

вот ты бы и рассказал, что там такого интересного.

я тоже не новичок в синт. разборе и построении интерпретаторов.
плавали знаем.


 
oxffff ©   (2010-08-05 18:11) [32]


> Дмитрий Тимохов   (05.08.10 16:46) [31]


Автомат не строит дерево. И уж тем более не строит синтаксическое.
А работает он по дереву разбора. Поскольку продукции не обязаны
соответствовать синтаксису языка.
Собственно в составе YAR есть мои аналоги yacc и lex + некоторые мои дополнения к yacc. Также в составе YAR есть другие построители автоматов LL, CYR, operator precedence.

Собственно после yacc начинается сам язык. И уж его автор выбирает, то что он хочет видеть.

перегрузка операторов
ООП
bounded полиморфизм
замыкания
продолжения
сборка мусора
и др.

+ собственно задачу от четкого разделения front от backend никто не отменял. Так что достаточно странно слышать о языке за один день.


 
Дмитрий Тимохов   (2010-08-05 21:40) [33]

Ну что же. Благое дело.

Опенсорсный будет проект?
Можно было бы потестировать.

ЗЫ 1 день - это время написания токенайзера и анализатора для задачи, достаточной для написания защиты. С генерацией кода и вируалкой повозиться придется, но этого все равно у тебя не будет, т.к. у тебя задача иная.
Хотя, если есть готовый продукт, почему бы не начать использовать.


 
Riply ©   (2010-08-05 22:48) [34]

> [23] Кто б сомневался ©   (05.08.10 14:30)
> А зачем это надо было переносить в публичные обсуждения обращаясь персонально к одному из участнику форума?

А Вас не удивляет, что иногда публикуют личную переписку некоторых людей, даже книжки выпускают ? :)
Может потому, что из нее можно вынести что-то новое, для себя или (как минимум) посмотреть
в каком направлении, при решении данной задачи, двигались другие ?
Мне, например, было интересно читать данную ветку.

> Очень сырой проект,
Никто и не говорил, что проект готов к всеобщему применению :)

> масштабный, на который уйдет не один год.
И что ?

> Чтобы похвастаться своим ЧСВ?
Не надо по себе мерять.
Например, просто рассказать в "потрепаться" о том чем занимаешся,
а, может, и найти единомышленников, если кого заинтересует.
Наконец, как говорил Леонид Трояновский: лучший способ проверки своего кода- его публикация :)


 
Rouse_ ©   (2010-08-05 23:51) [35]


> oxffff ©   (05.08.10 15:56) [28]
> Rouse, ты полгода назад когда мы пили пиво спросил, через
> сколько можно что-либо увидеть. Я как раз ответил полгода.
>  Вот теперь я просто сообщил.

И правильно сделал :)

ЗЫ: Ребят, вы сейчас делите шкуру неубитого медведя, а именно, начинаете обсуждать перспективы даже не оформившегося проекта, более того даже осуждать, причем не вникая хотя-бы в суть оного...

Не превращайтесь в политиков - ляпнуть абы что и сделать умное лицо, знаний много не надо...


 
trsas ©   (2010-08-06 03:06) [36]


> ЗЫ: Ребят, вы сейчас делите шкуру неубитого медведя, а именно,
>  начинаете обсуждать перспективы даже не оформившегося проекта,
>  более того даже осуждать, причем не вникая хотя-бы в суть
> оного...

А какой тогда смысл выносить эту тему на общедоступный форум?


 
oxffff ©   (2010-08-06 09:16) [37]


> trsas ©   (06.08.10 03:06) [36]


Внимательно читаем?

Раздел PS [27]
+ [28]


 
Дмитрий Тимохов   (2010-08-06 14:24) [38]

Серег, ты бы на вопросы мои ответил.
Если проприетарный продукт с закрытым кодом, то не интересно. Подобные закрытие продукты есть. Если опенсорсный, то это уже интересней намного.


 
oxffff ©   (2010-08-06 14:34) [39]


> Дмитрий Тимохов   (06.08.10 14:24) [38]
> Серег, ты бы на вопросы мои ответил.


Пока планов по раскрытию кода нет. Из открытого останется лишь только backend интерфейс, который бы позволил генерировать код в конкретную целевую машину.
Однако допускаю, что доступ к коду может быть открыт лишь тем лицам, у которых есть соизмеримые по трудозатратам наработки и которые были готовы объединить усилия в этих областях.


 
Кто б сомневался ©   (2010-08-06 14:53) [40]


> Riply ©   (05.08.10 22:48) [34]


В этом случае надо было обратится ко всем, а не к персонально к одному человеку. А так, это выглядит как личная переписка.


 
Дмитрий Тимохов   (2010-08-06 14:59) [41]


> oxffff ©   (06.08.10 14:34) [39]
> > Дмитрий Тимохов   (06.08.10 14:24) [38]
> > Серег, ты бы на вопросы мои ответил.
> Пока планов по раскрытию кода нет.


Ну тогда бог в помощь.
Коммерческие продукты по конструированию языков есть.
Хороших опенсорсных - нет (я не видел, когда искал в свое время, правда, давно - 6-7 лет назад). Ты мог бы быть первым автором.


 
Eraser ©   (2010-08-06 15:41) [42]

> [40] Кто б сомневался ©   (06.08.10 14:53)


> А так, это выглядит как личная переписка.

ну и что? мало ли что как выглядит.
лишь бы читать интересно было.


 
Брюнетка ©   (2010-08-06 21:12) [43]

>А Вас не удивляет, что иногда публикуют личную переписку некоторых людей, даже книжки выпускают ?

"
    - Вы бы почитали что-нибудь, - предложил он, - а то, знаете ли...
    -  Уж  и так читаю, читаю... -  Ответил Шариков  и вдруг хищно и быстро
налил себе пол стакана водки.
    - Зина, - тревожно  закричал  Филипп  Филиппович,  -  убирайте,  детка,
водку, больше уже не нужна. Что же вы читаете?
    В голове у него вдруг мелькнула  картина:  необитаемый остров,  пальма,
человек в звериной шкуре и колпаке. "Надо будет робинзона"...
    - Эту... Как ее... Переписку энгельса с этим... Как его  -  дьявола - с
Каутским.
    Борменталь остановил на полдороге  вилку с куском белого мяса, а Филипп
Филиппович  расплескал  вино.  Шариков  в  это время изловчился и  проглотил
водку.
"(с)(Булгаков М.А.)

ЗЫ Безо всяких намеков, просто вот вспомнилось -)



Страницы: 1 2 вся ветка

Текущий архив: 2010.11.14;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.01 c
15-1280694604
Юрий
2010-08-02 00:30
2010.11.14
С днем рождения ! 2 августа 2010 понедельник


2-1282152063
zlodey
2010-08-18 21:21
2010.11.14
список IXMLNode


2-1282442149
Гость
2010-08-22 05:55
2010.11.14
Можно ли сделать, чтоб при нажатии Alt, не включалось меню?


15-1280483751
KilkennyCat
2010-07-30 13:55
2010.11.14
DrawText в 2010


2-1282049480
zorik
2010-08-17 16:51
2010.11.14
Загрузка XML из сети в службе TService