Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2013, 22:05   #1
eugenk1
Новичок
Джуниор
 
Регистрация: 12.01.2013
Сообщений: 1
По умолчанию Вопрос по LLVM

Приветствую уважаемых коллег. Есть следующая задача. По байткоду некоторого скриптового языка нужно восстановить исходник. Безусловно не требуется восстанавливать комментарии и даже имена переменных, но программа должна без проблем восприниматься компилятором и приемлемо читаться человеком.
Как я хотел действовать с самого начала. Обезьяний подход. Т.е. изучить, что выдает компилятор и на основе этого написать некоторую грамматику, для того же ANTLR хотя бы, которая по каким-то характерным последовательностям байткодов восстановит программу. Но такой подход сулит неприятности. Возможно код будет оптимизирован, обработан обсфукатором и т.п. Тут метод "обезьяна смотрит обезьяна делает" уже не прокатит.
Попытка номер 2. По байткоду написать код для LLVM. Применить к нему оптимизации для очистки от возможного мусора (следов обсфукатора например). А потом, средствами той же LLVM получить граф, соответствующий высокоуровневому представлению.
Из всего этого первые два пункта примерно понятны. Но третий пункт не ясен абсолютно. Сколько доки ни читал. Отсюда вопрос к знатокам. Может ли LLVM каким-то образом помочь в построении высокоуровневой структуры программы (то что потом можно отдампить на языке высокого уровня) ? Мне кажется что да. Но как это делается я не нашел. Просьба, знатоки, ткните носом !
eugenk1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по mySQL + Вопрос по RichEdit HTL Общие вопросы Delphi 4 01.01.2010 20:22
Вопрос laxe Общие вопросы C/C++ 4 22.09.2009 10:06
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10