LINUX.ORG.RU

Сообщения GreyCat

 

Kaitai Struct 0.9

Новости — Open Source
Группа Open Source

Cовсем недавно вышла очередная версия Kaitai Struct 0.9 — языка описания и инструментария парсинга всевозможных бинарных форматов (например, сетевых пакетов, файлов с изображениями/аудио/видео, баз данных, архивов, контейнеров и т. д.). Несмотря на несерьезно выглядящий номер версии 0.9 — это крупный релиз, включающий в себя наработки за последние 2.5 года. За это время язык вырос до целого семейства проектов:

Язык признан GitHub и используется сейчас в более, чем 400 free / open source проектах для парсинга всевозможных экзотических форматов данных, начиная от реверс-инжиниринга файлов данных проприетарных игр, кончая разбором протоколов связи спутников.

Из основных новшеств языка 0.9 стоит выделить:

  • поддержка новых целевых языков (Python через библиотеку Construct, Nim, генерацию документации в HTML)
  • полноценную поддержку современных C++ (smart pointers, отсутствие необходимости вручную управлять памятью, исправление всех известных вариантов утечек памяти)
  • поддержку адресации вложенных типов через синтаксис вида foo::bar::baz
  • поддержку валидации прочитанных данных по описанным условиям (valid)
  • вычисление размеров статических структур данных в байтах и битах (операторы sizeof и bitsizeof)
  • формальное описание языка в виде JSON-схемы, из которой теперь генерируется документация

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

 , , ,

GreyCat
()

Kaitai Struct 0.8

Новости — Open Source
Группа Open Source

После почти 8 месяцев разработки, состоялся очередной релиз Kaitai Struct 0.8 — языка описания и инструментария парсинга всевозможных бинарных форматов (например, сетевых пакетов, файлов с изображениями/аудио/видео, баз данных, архивов, контейнеров и т. д.). Как всегда, в комплекте:

  • компилятор, позволяющий из файла спецификации формата (.ksy) получить готовый исходник парсера на языках C++, C#, Java, JavaScript, Lua, Perl, PHP, Python, Ruby, а также диаграмму в формате GraphViz;
  • Web IDE для удобной разработки спецификаций с одновременным визуальным контролем;
  • библиотека форматов, насчитывающая в этом релизе уже 110 описаний

Список новшеств 0.8 довольно длинный, из основных достижений стоит отметить:

  • поддержку Lua (почти 100%), начальную поддержку Go (~15% тестов проходит);
  • поддержку переключения endianness по результатам вычислимого выражения (сильно упрощает поддержку форматов типа ELF, TIFF и т.п., которые встречаются в двух вариантах endianness)
  • параметрические типы — например, одной такой спецификацией BCD можно пользоваться самых разнообразных BCD, передавая при вызове типа параметрами число цифр, битность одной цифры и порядок их следования;
  • поддержка произвольных кастомных методов процессинга данных (расшифровка, декомпрессия и т.д.) путем подключения модуля на целевом языке программирования; в будущем планируется создание стандартных библиотек для распространенных алгоритмов сжатия, шифрования и обфускации данных;
  • возможность обращаться к индексу итерации в циклах — _index;
  • расширенные возможности документации enum'ов и кросс-ссылок;
  • у проекта появился логотип благодаря сотрудничеству с финским дизайнером Verneri Kontto

Релиз приурочен к пересечению проектом морального рубежа в 1000 stars на GitHub. Команда Kaitai благодарит всех пользующихся за доверие и поддержку и обещает, что дальше будет еще интереснее.

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

 , ,

GreyCat
()

Запущен сайт-каталог формальных спецификаций форматов файлов и сетевых протоколов

Новости — Open Source
Группа Open Source

На базе проекта Kaitai Struct запущен сайт-каталог, собирающий информацию о всевозможных форматах файлов и сетевых протоколах.

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

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

 , ,

GreyCat
()

Опубликованы спецификации и библиотеки для работы с новой файловой системой Apple APFS

Новости — Apple
Группа Apple

Новая файловая система APFS от Apple, поддержка которой начала появляться во всех операционных системах компании с 27 марта 2017 года, успешно разобрана известным немецким исследователем в области информационной безопасности и digital forensics Йонасом Плюмом (Jonas Plum). Опубликованы первичные спецификации и библиотеки для работы с этой файловой системой. Разбор проводился с использованием Kaitai Struct, что автоматически позволило сгенерировать библиотеки для C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby.

Работа Йонаса позволит в ближайшее время реализовать поддержку APFS в ОС, отличных от macOS/iOS, с помощью FUSE.

Напомним, что файловая система APFS является новой (и до сих пор закрытой) разработкой Apple, которая в перспективе должна полностью заменить используемую сейчас по умолчанию HFS+. В качестве основных преимуществ файловой системы заявляются более оптимальная работа с flash-накопителями и SSD, гибкая поддержка шифрования, поддержка sparse-файлов, встроенные средства контроля целостности ФС и параллелизации доступа.

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

 , , , ,

GreyCat
()

Kaitai Struct 0.7

Новости — Open Source
Группа Open Source

Состоялся релиз Kaitai Struct 0.7 — языка и набора программ, предназначенных для описания и разбора всевозможных бинарных форматов (например, сетевых пакетов, файлов с изображениями/аудио/видео, баз данных, архивов, контейнеров и т. д.).

Предлагаемый комплект позволяет:

( Основные изменения )

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

 , ,

GreyCat
()

Kaitai Struct 0.6

Новости — Open Source
Группа Open Source

Вышла новая версия Kaitai Struct — языка спецификации произвольных бинарных форматов файлов, пакетов, протоколов и т. д.

Основная идея проекта в том, что формат бинарного файла описывается один раз на языке .ksy, после чего файлы такого формата можно рассматривать в визуализаторах, получая представление о том, каким байтам соответствуют какие значения элементов формата, сгенерировать человекочитаемую диаграмму формата, а самое главное — сгенерировать готовую библиотеку парсинга такого формата на одном из 8 поддерживаемых целевых языков: C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby.

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

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

 , , ,

GreyCat
()

Новый интерактивный учебный курс по Kaitai Struct

Новости — Open Source
Группа Open Source

Сегодня увидел свет интерактивный учебный курс по языку парсинга бинарных данных Kaitai Struct.

Курс создан на базе онлайн-платформы avatao, которая известна своими учебными материалами по информационной безопасности (сетевой и web-безопасности, обратной разработки (reverse engineering), криптографии). Основное достоинство платформы заключается в том, что практика идёт на живых примерах и с настоящими инструментами: для обучающихся персонально запускаются временные виртуальные машины с примерами уязвимостей для отработки определённых техник. На avatao уже были опубликованы курсы по таким известным инструментам, как Wireshark, sqlmap, Nmap, Unicorn, John the Ripper, сегодня к их числу присоединяется Kaitai Struct (разумеется, куда более молодой и менее именитый).

Практикум создан Томашем Коцкой (Tamás Koczka) на основе его Web IDE для Kaitai Struct — интегрированной веб-среды, содержащей всё необходимое для визуальной работы с бинарными файлами: редактор исходного кода, hex viewer, средство просмотра результирующего дерева объектов, отладчик парсеров. На данный момент опубликованы 4 первых задания курса, в дальнейшем их число будет расти. Исходный код всех заданий доступен на GitHub.

>>> Официальный анонс на avatao

>>> Начать курс

 , , , ,

GreyCat
()

Kaitai Struct 0.5

Новости — Open Source
Группа Open Source

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

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

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

 , , ,

GreyCat
()

Тестирую компиляцию описания формата Kaitai Struct в диаграмму GraphViz

Галерея — Скриншоты

Сделали новую фичу в Kaitai Struct: раньше мы умели описания бинарных форматов файлов и пакетов смотреть в визуализаторе и компилировать в исходный код парсера на поддерживаемых языках программирования (к ним, кстати, медленно, но верно добавляются PHP и Perl), а теперь мы умеем еще и генерировать по описаниям форматов вот такие вот диаграммы.

На скриншоте - развернутая на фул-скрин схема базовых тестовых форматов стека OSI 2-4 уровней. Все начинается с pcap-файла (вне уровневой классификации), в который вложены фреймы формата Ethernet (2 уровень), в которые вложены IPv4-пакеты (3 уровень), в которые вложены либо TCP-сегменты (4 уровень), либо ICMP-пакеты (3 уровень). Таблички - классы. Жирные стрелки - включения типов один в другой, серые дуги - использования значений из какого-то поля в другом.

В правом верхнем углу - для сравнения - окошко с текстовым редактором, в котором видно, как выглядит исходник описания формата pcap в .ksy.

Схема получена абсолютно автоматически без каких-либо ручных правок и дорисовываний ровно за 2 шага:

1. Пачка файлов с описаниями форматов .ksy компилируется в graphviz:

ksc -t graphviz файлы.ksy

2. Полученный dot-файл банально обрабатывается graphviz:

dot -Tsvg <файл.dot -o файл.svg

Если стало интересно, вот еще пачка примеров:

>>> Просмотр (3840x2160, 223 Kb)

 kaitai, ,

GreyCat
()

Релиз Kaitai Struct v0.4

Новости — Open Source
Группа 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
()

Einarc 2.0

Новости — Hardware and Drivers
Группа Hardware and Drivers

После трех с лишним лет разработки вышла новая версия пакета Einarc — универсального интерфейса для управления разными проприетарными и не очень проприетарными RAID-массивами. Как и раньше, Einarc предоставляет простой единый интерфейс командной строки (для управления вручную или из скриптов) и API (для программирования в составе систем deployment'а, различных NASов/SANов и т.п.), работая как оболочка-транслятор вокруг проприетарных утилит управления.

Новая версия получила номер 2.0 — и это логично, так как список нововведений широк:

  • Новые возможности: поддержка операций с выделенными hotspare-дисками, работа со SMART, операция принудительного сброса адаптера (полезно, если по какой-то причине какие-то диски не проинициализировались), показ соответствий /dev-файлов для логических дисков, расширенная поддержка модели SAS (атрибут WWN и объект «enclosure»), дампинг логов, поддержка переключения режим кэша записи и управления питанием для физических дисков.
  • Поддержка массы новых адаптеров и чипсетов, выпущенных за последние 3-4 года 3Ware, Adaptec, Areca, Intel, LSI, SuperMicro и т.д.
  • Более дружелюбные пользовательский интерфейс: на всех уровнях добавлены подсказки, большинство команд можно сокращать в UNIX-стиле («physical list» => «pd ls»), возможность не указывать аргументы, когда понятно, о чем идет речь.
  • Добавлена документация в виде man pages.
  • Решены множественные проблемы совместимости, тянувшиеся с прошлой версии: поддерживаются Ruby 1.8, 1.9 и 2.0, поддерживается ядро Linux 3.x (даже для тех утилит, которые требуют явно именно 2.6.x), поддерживается больше 26 физических дисков для HBA, произведен переход с HAL на udev (с хождением в sysfs вручную для совместимости с SAS), явно запрещено построение программного RAID на поверх дисков аппаратного RAID.

Кроме этого тем, кто использует Einarc как библиотеку в своих проектах стоит обратить внимание на то, что:

  • В API 2.0 сломана обратная совместимость с 1.x (в основном переименованы namespaces для разрешения конфликтов).
  • В релиз включен новый тестовый фреймворк, работающий даже в отсутствии физического адаптера и тестового стенда.
  • Разработка Einarc несколько отделилась от материнского проекта Inquisitor и переехала на github.

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

 , , , ,

GreyCat
()

Токийская биржа переходит на Linux

Новости — Проприетарное ПО
Группа Проприетарное ПО

Тихо и незаметно, Токийская фондовая биржа (Tokyo Stock Exchange, TSE) объявила о переходе на новую систему Arrowhead. Сообщается, что система работает под управлением серверов Fujitsu и использует Red Hat Enterprise Linux.

Новая система может обрабатывать транзакции всего за 5 милисекунд, а мониторинговую информацию на чтение отдает за 3 милисекунды. Из интересных особенностей внедрения стоит отметить отказ от каких-либо готовых решений, кроме операционной системы — и СУБД, и кластерная система, и система управления storage — полностью проприетарные и написанные специально для этого проекта. Система обошлась новым хозяевам в 13 миллиардов йен (140 миллионов долларов).

Старая система, функционировавшая до 4 января 2010 года, успела «порадовать» своих хозяев несколькими десятками серьёзных сбоев и непредсказуемо медленной работой (до нескольких секунд на транзакцию), что здорово ударило по репутации биржи. Убытки, которые биржа понесла в результате судебных исков от недовольных трейдеров, много больше, чем цена системы: для сравнения, только по одному из них (а их было несколько десятков) TSE уплатила истцу (Mizuho Securities) 120.5 миллионов USD.

Напомним, что Токийская фондовая биржа (TSE) — вторая в мире по рыночной капитализации, после Нью-Йоркской (NYSE).

Нетехнические подробности.

>>> Технические подробности

 , , ,

GreyCat
()

DRBD принято в ядро Linux

Новости — Ядро Linux
Группа Ядро Linux

После 10 лет скандалов, дебатов и разногласий, в основную ветку ядра Linux наконец-то принято DRBD - решение для репликации блочных устройств, позволяющее создать на абсолютно любой файловой системе кластер высокой доступности.

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

Напомним, что ядра с DRBD поставляются уже много лет многими вендорами под марками «кластерных решений для enterprise». Отметим, что DRBD до сих пор является единственным работающим решением, позволяющим осуществить резервирование мастер-нод многих почтовых кластеров, метаданных распределенных файловых систем, key-value хранилищ или телеком-серверов.

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

 , ,

GreyCat
()

Списки рассылки vs форумы: nabble?

Форум — General

Есть у нас такой проект, как Inquisitor - такая свободная система нагрузочного тестирования железа, с загрузочным LiveCD и всеми сопустствующими делами. Как можно догадаться, кроме седых опытных дядек, на сайт так или иначе ходят толпы школьников-виндузятников, выходящих по всяким запросам типа «как протестировать (такой-то компонент системы)?»

Между собой разработчики (коих не так уж и много) всю жизнь общались с помощью мейллистов, но видно, что через форму поддержки на сайте идет приличное количество вопросов - неискушенный народ, который пришел за «конечным продуктом» в надежде найти в Inquisitor халявный аналог какой-нибудь Sandra, PassMark или Everest. Недавно кто-то намекнул, что, мол, этим пользователям надо бы дать общаться между собой и что для этого прогрессивная общественность использует форумы - и что, мол, надо завести форум - как туда прям сразу ринется толпа страждущих.

Форум был заведен в виде гейтования рассылки в nabble и обратно - но потока пишущих пока не замечено, хотя счетчики посещаемости на форуме исправно показывают, что народ туда смотрит, но не пишет.

Как считаете - какой на данный момент оптимальный метод организации связи между разработчиками проектов свободного ПО? Для связи между разработчиками и пользователями (особенно учитывая то, что пользователи на 95% - не профессиональные юниксоиды)? Между пользователями?

Нормален ли nabble как средство организации форума или такое сейчас не котируется?

GreyCat
()

DailyMotion: открытое видео в браузере без Flash

Форум — Talks

Сайт DailyMotion (некий аналог популярнейшего видео-хостинга YouTube), ранее отличившийся поддержкой Ogg Theora и Vorbis, объявил о новой эре в своем развитии, а заодно и в развитии всего веба.

Теперь на DailyMotion видео можно будет смотреть без Adobe Flash и без каких-либо дополнительных плагинов - отныне на http://openvideo.dailymotion.com/ поддерживается показ видео в формате Ogg Theora через чистый HTML5 (с помощью тэга video). Смотреть эту красоту можно с помощью новой беты Firefox 3.5.

Запись в блоге DailyMotion

Интерфейс DailyMotion в HTML5

Перемещено svu из Mozilla

GreyCat
()

MusicBrainz 20090524: лицом и к пользователю, и к индустрии

Новости — Open Source
Группа Open Source

Новый релиз MusicBrainz 20090524 - проекта по созданию свободной базы данных о всех существующих на этой планете аудиозаписях - привнес в проект плоды более, чем полугодовых жарких дискуссий и работы. Теперь MusicBrainz стал ближе и к обычным пользователям (не теряя своей аудиофильской направленности), и к торговым организациям:

  • Поддержка группировки релизов - теперь можно, наконец, зайти в дискографию любимого плодовитого артиста и видеть не 10 различных релизов одного и того же альбома («обычная версия», «японская версия», «с бонус-треками» и т.п.), а всего один «release group» - то, что обычные люди и называют «альбом».
  • Поддержка ISRC - универсального международного номера для идентификации аудиопродукции - делает MusicBrainz применимым для учетно-складских и торговых целей. Этим новшеством для интеграции не замедлили воспользоваться люди из Wolfram|Alpha - их новый computational knowledge engine активно использует информацию из MusicBrainz.
  • Проект выкинул наконец-таки морально устаревшую MoinMoinWiki и заменил ее на MediaWiki. Это уже третий wiki-движок, используемый MusicBrainz.

Посмотреть на всё это можно уже сейчас на http://musicbrainz.org/. Ждем поддержки нововведений в плеерах и тэггерах.

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

 , ,

GreyCat
()

Trophees du Libre: объявлены финалисты

Новости — Linux General
Группа Linux General

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

  • http://www.inquisitor.ru/ - открытая платформа для проведения нагрузочного и бенчмаркового тестирования (доступная в сборках на ALT Linux и Debian и распространяющаяся на Live CD или загружающаяся по сети).
  • http://www.ksplice.com/ - патч и набор userspace утилит для применения патчей к ядру Linux «на лету».
  • http://enigform.mozdev.org - модуль Apache и расширение Mozilla для шифрования http-трафика с помощью GPG.

Финал конкурса будет проводиться во Франции 5-6 июня 2009. Все финалисты встретятся там с жюри и предоставят свои презентации проектов, рассказы, ответят на вопросы и разделят призы.

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

 enigform, , , , ,

GreyCat
()

Inquisitor — платформа тестирования оборудования под Linux

Новости — Hardware and Drivers
Группа Hardware and Drivers

Проект Inquisitor — расширяемая платформа для организации систем тестирования оборудования (некий далекий конкурент недавно пробегавшей тут Phoronix Test Suite и почившего уже в бозе Stress Linux) — разродился первым публичным релиз-кандидатом — Inquisitor v3.0-rc2, а также огласил дату выхода своего первого полностью свободного релиза v3.0-final — 20 июля.

Проект представляет собой многоплановую платформу, предназначенную для тестирования, мониторинга и бенчмаркинга железа под управлением Linux. На данный момент есть 3 варианта его применения: standalone — ставится пакетом прямо в живую систему, livecd — отдельный загружаемый LiveCD, и enterprise — для тестирования компьютеров под управлением центрального сервера — в этом случае клиенты загружаются по сети (PXE).

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

 , , ,

GreyCat
()

KGuitar 0.5

Новости — KDE
Группа KDE

После более, чем полуторагодового перерыва, вышел KGuitar 0.5. Этот продукт будет интересен тем, кто имеет дело с записью музыки табулатурами, в основном - гитарными. Основные моменты релиза:

- Глобальный рефакторинг всех внутренних структур, новое сборочное окружение KDE, модуляризация компонент импорта-экспорта, стандартизация интерфейса пользователя по канонам KDE;

- Достаточно полная поддержка импорта файлов Guitar Pro 4;

- Значительные улучшения и стабилизация работы с MIDI;

- Унификация кода печати и отображения табулатур на экране, поддержка классической нотной записи;

- Улучшения в редакторе мелодий (интерактивность и показ гамм/ладов) и редакторе аккордов (поиск аккорда по текстовому обозначению);

- Многочисленные улучшения usability и bugfixes - собирается gcc3.4;

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

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

GreyCat
()

KGuitar 0.4.9

Новости — KDE
Группа KDE

Вышла новая версия редактора гитарных табулатур. После около года молчания - огромное количество новых, хотя и местами глючных фич и багфиксов. Среди наиболее интересного:

  • Первый порт под KDE3
  • Появилась документация
  • Улучшена юзабилити (zooming, навигация)
  • Новые инструменты редактирования: конструкторы ритма и мелодий
  • Поддержка печати средствами Qt, включая стандартный нотный стан
  • Более полная поддержка MIDI проигрывания и MusicXML
  • Поддержка импорта из Guitar Pro 3

>>> Homepage

GreyCat
()

RSS подписка на новые темы