Во-первых, я хочу сообщить о прошлом РСоК'14 , благодарим аудиторию Хабра за помощь в организации этого мероприятия.
Не следуя правилам Google, мы смогли на лету сменить двух «официальных» участников.
В прошлом году мы выбрали два официальных участника и 6 «неофициальных» (без денежного вознаграждения) .
Однако в процессе продвижения кодирования осталось всего трое неофициальных участников.
Но, поскольку они успешно справились со своими задачами, собранные деньги мы поделили между ними поровну (около 700 долларов на человека).
Давайте посмотрим на задачи подробнее : Две задачи не выполнены/выполнены - это полный перенос всего фреймворка в использование база данных SDB и тонкая настройка вебуи .
С другой стороны, три задания завершены успешно, и весь код в настоящее время находится в основной ветке.
Во-первых, он поддерживает разбор сложных структур и отображение их в нужном формате с помощью команды pf и парсера описания данных на языке C (struct/union и т.д.).
Во-вторых, он поддерживает загрузку и использование сигнатур форматов.
ФЛИРТ (из IDA Pro) , а также интеграция с Яра .
Благодаря тому, что эта задача была успешно выполнена, радар2 можно использовать для анализа вредоносного ПО с использованием существующих баз сигнатур, накопленных за годы работы с IDA Pro и Yara. Код интеграции Yara был перенесен в отдельный репозиторий .
Ну и последнее успешно выполненное задание - поддержка П.
Д.
Б.
.
Основное отличие от многих отладчиков и дизассемблеров (кроме IDA Pro) состоит в том, что он анализирует формат самостоятельно, без использования обращений к системным библиотекам Windows. Кроме того, с прошлого года значительно улучшилась ситуация с документацией: радар.
сегодня/радар2-задокументировано В этом году Radare2 не прошла квалификацию на Google Summer of Code как независимая организация, что нас не остановило, и мы решили повторить опыт прошлого года и снова запустить собственную кампанию.
Тем более, большое спасибо пресловутому Солардиз и его проект Открытая стена , под патронажем которого мы будем участвовать в GSoC'15 в рамках одного задания.
Для проведения собственного RSoC'15 нам потребуется 3000 EUR для привлечения трех участников.
Итак, подведем итог информации по обоим Summer of Code:
Google Лето кода:
- Есть место для одного участника
- Заявки можно подать с 16 по 27 марта.
- Оплата 5000$
- Стандартные ограничения программы (только студенты и строгое соблюдение регламента мероприятия)
- Заявки принимаются с 11 марта по 3 мая.
- Объявление принятых участников 8 мая.
- Программирование с 17 июня по 16 сентября.
- Оплата 1000 EUR (предположительно зависит от суммы собранных средств)
- Никаких ограничений для участников не налагается
веб интерфейс
Создание виджетов для:- Шестнадцатеричный редактор с настраиваемым форматом столбцов
- График: интерактивные графики для блоков, функций и возможностей сравнения.
- Разделы
- Поиск строк, кодов операций и шаблонов
- Структуры: просмотр, создание и редактирование
Улучшение возможностей ESIL
Поддержка эмуляции на основе ESIL
Во-первых, необходимо добавить (и улучшить) поддержку ESIL для большего количества архитектур (см.libr/anal/p/*).
Во-вторых, вам нужно будет добавить следующие функции для самого движка ESIL:
- Упрощение команд для работы с ESIL
- Возможность эмуляции выбранной функции (через ESIL)
- Рассчитать значение выбранного регистра в выбранной точке программы по запросу
- Встроенная эмуляция функций стандартной библиотеки.
- Поддержка трассировки
- «Обратная» отладка
Динамический анализ на основе эмуляции через ESIL
Здесь, я думаю, необходимо уточнить, что имеется в виду.Эта задача тесно пересекается с предыдущей, поскольку позволяет реализовать автоматический анализ кода по мере его выполнения.
- Переключатель автоматического обнаружения()
- Обнаружение значений динамического скачка (ссылки)
- Автоанализ параметров функции
- Улучшено распознавание перекрестных ссылок (xrefs).
Автоматическое преобразование кода ESIL в SSA (форма единого статического назначения)
Как многие знают, это первый шаг к полной декомпиляции.
В этом задании студенту необходимо будет создать трехсторонний обмен информацией между тремя уровнями — двоичным кодом (и дизассем), представлением ESIL и представлением SSA.
Работаем над интерфейсом и возможностями отладчика
Эту задачу нужно будет выполнить на основе сравнения возможностей существующих отладчиков: gdb, lldb, voltron, mona.py, peda,immunity. Список того, что нужно будет сделать:- Пользовательский интерфейс с панелями кода/стека/регистров (например, peda/voltron)
- Отображать прошлые и будущие точки останова
- Горячие клавиши
- Настройка работы с ASLR
- Показ значений параметров функции, если точка останова стоит на вызове этой функции (как в OllyDbg)
- Показ (введенных) значений в стеке и в регистрах
Написание универсальной библиотеки парсера для ассемблеров (rasm2)
Это потребуется для выделения его в отдельный проект, например capstone или sdb, для унификации синтаксиса ассемблеров и поддержки макрокоманд. Мы считаем, что поддержка синтаксиса и макроязыков была бы идеальной.фасм .
Улучшена способность радара2 создавать графики и визуализировать данные и код.
Здесь участнику нужно будет улучшить алгоритмы отрисовки перекрывающихся блоков, добавить полную поддержку Юникода и красивых узлов, поддержку цветов и подсветки синтаксиса, группировку узлов и их комментирование.
Я не описывал все задачи, выделил лишь наиболее «системообразующие»; более полную информацию можно получить на соответствующей странице .
Летний план с подробным описанием задач здесь: rada.re/rsoc Официальный сайт проекта: рада.
ре Станьте спонсором кампании RSoC или просто отправьте пожертвование.
P.S. В этом году (кроме GSoC/RSoC) мы Собираемся : Улучшение поддержки Windows (включая лучшую интеграцию поддержки WinDbg и PDB), завершить полный переход на SDB, завершить доработку лицензий (для удобства компоновки с коммерческими продуктами без лишних размышлений о том, что можно включать в сборку, а что нет; улучшить поддержку мобильных платформ (ARM, MIPS) , упростить написание плагинов и сделать сборку и использование привязок более очевидными, увеличить количество регрессионных тестов и привлечь новых разработчиков.
Теги: #radare2 #дизассемблер #обратное проектирование #отладка #открытый исходный код #Ассемблер #windbg #информационная безопасность #Ассемблер #обратное проектирование
-
Будущее Adobe Golive
19 Oct, 24 -
Захват Страниц С Помощью Webharvest
19 Oct, 24 -
Asp.net 4.0: Руководство Разработчика
19 Oct, 24