LINUX.ORG.RU

Reverse engineering


32

0

Всего сообщений: 25

Kaitai Struct 0.5

Группа Open Source

После трёх месяцев разработки состоялся релиз Kaitai Struct 0.5 — языка описания форматов структур данных. Идея проекта состоит в том, что описав структуру формата файла или сетевого протокола единожды на формальном языке .ksy, можно скомплировать такое описание в исходный код парсера на любом поддерживаемом языке программирования.

( читать дальше... )

>>> Подробности

 , , ,

GreyCat
()

Релиз Kaitai Struct v0.4

Группа Open Source

Состоялся релиз v0.4 проекта Kaitai Struct — декларативного языка для описания форматов структур данных. Описание структуры составляется в виде файла .ksy (в простом YAML-подобном виде), а затем с помощью предлагаемого компилятора транслируется в исходный код парсинга (на данный момент поддерживаются C#, Java, JavaScript, Python, Ruby и предварительно — C++). Типичная сфера применения — разбор и импорт существующих бинарных форматов файлов (в том числе закрытых и проприетарных), сетевых пакетов (например, в составе IDS или систем мониторинга трафика) и т. п.

Кроме компилятора, в состав поставки входит визуализатор, с помощью которого удобно отлаживать разрабатываемое описание (особенно, если формат неизвестен и необходимо пробовать много разных гипотез), применяя его сразу к существующему файлу и наблюдая результат парсинга в виде дерева с подсветкой соответствующих элементам этого дерева мест в hex-дампе.

Инструментарий распространяется под GPLv3, используемые в компилируемом коде runtime-библиотеки — под MIT/Apache. Референсный компилятор написан на Scala, но существует версия для веба на JavaScript, работающая в браузере целиком на стороне клиента.

Из нововведений нового major-релиза можно отметить:

  • поддержку 2 новых целевых языков: полная поддержка C# и предварительная — C++ с STL;
  • полную поддержку JavaScript в runtime-библиотеке;
  • поддержку новых типов данных: числа с плавающей точкой и выделенные типы для массивов байт;
  • расширение встроенного языка выражений: добавлены операции для работы с массивами, преобразования типов данных, доступа к объекту потока и т. п.;
  • существенную переработку и унификацию runtime-библиотек всех поддерживаемых языков для приведения их всех к единому API (в рамках дозволенного правилами конкретных языков).

>>> Подробности

 , , , ,

GreyCat
()

Radare2 собирает денежные средства на проведение своего Summer of Code

Группа Безопасность

Radare2 это свободный фреймворк для дизассемблирования и реверс-инжиниринга (пример работы: http://xvilka.me/r2.gif). Создатели запустили собственную краудфандинговую кампанию с целью собрать 12000 EUR на проведение собственного Summer of Code.

В этом году radare2 не прошел отбор в Google Summer of Code, что не должно помешать реализовать всё задуманное (web интерфейс, бинарные шаблоны, миграция на sdb, ROP-компилятор, ESIL - Evaluable Strings Intermediate Language, парсер PDB и протокола Windbg, сигнатурный анализ, bokken - графический интерфейс на PyGtk, поддержка новых архитектур).

( читать дальше... )

>>> Donate

 , , ,

XVilka
()

Starcraft портирован на ARM

Группа Игры

Notaz, участник проекта OpenPandora, провёл реверс-инжиниринг игры StarCraft и портировал её на ARM-платформу. Ему удалось это сделать несмотря на отсутствие исходного кода в открытом доступе.

В репозитории выложен перекомпилированный бинарник для установки которого на игровую приставку «Пандора» нужно еще скопировать несколько файлов с ПК-версии игры.

Автор порта говорит, что он дизассемблировал игру в IDA, затем конвертировал код на C с помощью инструментов собственной разработки (их пришлось написать в процессе работы специально для этой задачи), потом скомпилировал в нормальную программу и связал с библиотекой winelib, которая работает с Win32 API из-под ARM-версии wine. Задача поначалу казалась простой, но в реальности проект занял почти полгода: вылезло очень много неожиданных проблем. Так или иначе, но автор довёл дело до конца.

Теоретически, он мог бы выложить код C в открытый доступ, чтобы кто-нибудь скомпилировал версию под Android. Сейчас StarCraft запускается на Android-планшетах и смартфонах с помощью Winulator. Видео запуска
Взято с хабра.

>>> Топик автора

 , , ,

ZUKMAN
()

Поддержка файлов Visio в LibreOffice: история успеха

Группа Офисные приложения

Одним из проектов в программе Google Summer of Code 2011 была реализация поддержки файлов Microsoft Visio в LibreOffice. Работа была выполнена шотландской студенткой Эйлид МакАдам (Eilidh McAdam) под руководством сотрудника Attachmate/SUSE Фридриха Штрбы (Fridrich Strba).

Благодаря написанной ими библиотеке libvisio, использующей наработки проекта re-lab, LibreOffice Draw теперь умеет корректно открывать и показывать многие схемы и диаграммы в формате VSD, опубликовать документацию на который компания Microsoft так и не удосужилась.

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

Выпуск LibreOffice 3.5, который будет поддерживать VSD «из коробки», намечен на 8 февраля 2012 года. Утилиты vsd2odg и vsd2xhtml доступны прямо сейчас. Первая входит в состав пакета writerperfect, который необходимо собрать с ключом --with-libvisio. Вторая является частью libvisio.

>>> Подробности

 , , ,

AP
()