LINUX.ORG.RU

GNU Poke 1.0

 ,


4

1

GNU Poke - новый интерактивный редактор бинарных данных со встроенным процедурным языком программирования, предназначенным для описания структур данных и их изменения. GNU Poke позволяет редактировать байты в отдельно взятом бинарном файле или его части, а также создавать программы на базе Poke для шаблонного изменения, просмотра и редактирования файлов или отдельных абстрактных структур внутри бинарных файлов (примером такой программы мог бы служить редактор mp3-тегов или значений в sqlite-базе данных).

GNU Poke является консольной утилитой, использующей gnu-библиотеку readline, однако также существует графический интерфейс, созданный с применением Tk/Tcl. Виртуальная машина Poke основана на Jitter.

Релиз GNU Poke 1.0 состоялся 26 февраля 2021 года, разработка продолжалась в течение 3 лет.

Сайт проекта

Исчерпывающее руководство на английском языке

>>> Анонс от команды разработчиков

Ответ на: комментарий от hobbit

Kaitai не может писать. Он только читает. И скриптование там совсем уж слабое. Для парсинга нехитрых форматов обычно хватает, но не более того

q0tw4 ★★★★ ()
Последнее исправление: q0tw4 (всего исправлений: 1)
Ответ на: комментарий от hobbit

Kaitai Struct это больше про другое, он больше про интеграцию бинарных форматов в разные языки программирования, если честно работать с ним больно. более юзабельное будет например okteta под kde или Synalyze It! под mac. Если нужен просто редактор что бы можно было циферки посмотреть и тп то лучше взять https://hexed.it/

anonymous ()

Может ли он работать с потоками бит, не выравненными на границу байта? Есть ли примеры разбора GIF, ZIP и подобных форматов?

Можно ли для dump сделать обработку выводимых в правой колонке символов? Прогонять их через что-то вроде iconv или sed y/…/…/ ? Для наглядности.

question4 ★★★★★ ()
Ответ на: комментарий от question4

Может ли он работать с потоками бит, не выравненными на границу байта?

Да. В руководстве это описано начиная с пункта 2.9.

Можно ли для dump сделать обработку выводимых в правой колонке символов? Прогонять их через что-то вроде iconv или sed y/…/…/ ? Для наглядности.

Кажется, простого способа сделать это нет.

Leupold_cat ★★★★ ()
Последнее исправление: Leupold_cat (всего исправлений: 1)
Ответ на: комментарий от AKonia

А как ещё называть разработку в обратном направлении

Так это не «разработка в обратном направлении». При ней ПО проектируется задом на перед? Производится анализ проблемы в обратном направлении? В обратном направлении происходят обсуждения с заказчиком. Нет, ничего этого в reverse engineering нет. Термин абсолютно убогий, как в прочем частенько бывает в английском языке.

seiken ★★★★★ ()
Ответ на: комментарий от seiken

Нет, просто было:

Высокоуровневый код 
  -> выработка автокода 
  -> сборка + связывание 
  -> двоичный исполнимый файл

Обращение же

двоичный исполнимый файл 
   -> восстановление связей и подразбика на блоки/секции
   -> раскодирование(восстановление автокода) 
   -> выработка высокоуровневого кода/описания логики работы.

Т.е. полностью обратная задача

AKonia ()
Ответ на: комментарий от seiken

что скрывается под термином reverse engineering

Reverse engineering как термин зародился задолго до ПО.

Конкретные примеры можно?

Представь что сейчас 1946 год и тебе нужно создать реактивный двигатель для истребителя, инета нету, документации в открытом виде тоже, но тебе продали двигатель Rolls-Royce Nene. И тут внезапно нужны инженеры которые в теме, целый отдел инженеров, которые будут тратить время, ресурсы, а на выходе будет только чертежи и документация.

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

в контексте данной тулзы?

Я так понял тулза слишком узконаправленная на протоколы.

Aber ★★★★ ()
Ответ на: комментарий от Aber

В реверс инженерии практически нет творческого поиска и сомнений в надежности (если ничего не менять),

если ничего не менять

это уже сфероконь.

Стандарты-то разные, материалы, марки стали, например. У того же Туполева, когда «копировали» B29 (вплоть то заплаток и пепельницы) ряд стального проката в США был и есть в дюймах, а у нас метрический. соответственно, проката одинаковой толщины не было в принципе, скопировать просто не вышло бы. По сути, все равно создавали заново.

В ПО если ничего не менять, это значит и реверсить нечего, это просто пиратство, копируй и используй оригинал.

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

это уже сфероконь.

Вот днями посмотрел про МИГ 23 (https://youtu.be/WsHPoQygnVQ?t=302), там говорится что воздухозаборники полная копия с фантома, вплоть до количества дырочек которые служат уменьшению входящего поток воздуха, и даже скопировали ту острую часть которая нужна для посадки на авианосец, для срезания какого-то барьера (to cut the barricade).

Если это так, то выходит полного понимания работы воздухозаборников на 2-х махах не было, просто копировали, надеясь что будет не хуже.

Aber ★★★★ ()
Последнее исправление: Aber (всего исправлений: 1)

Ждём ебилдов^Wоказывается, уже есть.

Какой-то у этой утилитки прям подозрительный стремительный успех, в репозитории дистров с ходу попала. Такое редко бывает. Не иначе коррупция и заговоры! :)

Harald ★★★★★ ()
Ответ на: комментарий от Aber

воздухозаборники полная копия с фантома,

Это просто невозможно. Просто потому, что самолеты все равно разные, мощности двигателей разные, массы самолетов, жесткости разные.

Воздухозаборник невозможно снять с одного самолета и поставить на другой. Его надо полностью расчитывать. Могли форму взять за основу? Могли. Могли разгрузить решетку сделать одинаковой? запросто. Но потом все равно расчет, проектирование, продувка и доработка. Полный ниокр. Не выйдет просто копировать.

Если это так, то выходит полного понимания работы воздухозаборников на 2-х махах не было, просто копировали, надеясь что будет не хуже.

А потом понимание само собой снизошло и сделали миг-25 почти на три маха?

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

Но потом все равно расчет, проектирование, продувка и доработка. Полный ниокр. Не выйдет просто копировать.

И скопировали острую кромку которую сделали для разрезания страховочной сетки при аварийной посадке на авианосец.

Наверное каждый кодер хоть раз в жизни да копировал себе непонятный текстовый блоб который делал то что нужно, и каждый же хотел разобраться что там происходит, чтоб написать «по нормальному», но это потом, потому что сейчас тебе менеджер пишет ASAP.
Хоть конечный результат работы логики и покрывался интеграционными тестами понимания это не добавляло.

А потом понимание само собой снизошло и сделали миг-25 почти на три маха?

Потом снизошло т.к. выделили достаточно времени и ресурсов и это уже была нормальная разработка. Нормальная разработка стоит дороже.

Aber ★★★★ ()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от Aber

вплоть до количества дырочек которые служат уменьшению входящего поток воздуха

Если загуглить «f-4» «Port intake ramp.» то не похоже что это правда, приврал мужик на видео. Ладно, по самолетам ничего говорить не буду, не эксперт :)

Aber ★★★★ ()
Ответ на: комментарий от Aber

И скопировали острую кромку которую сделали для разрезания страховочной сетки при аварийной посадке на авианосец.

почему нет? Если решение удачное, то почему бы его не позаимствовать, если понимаешь что и зачем?

Наверное каждый кодер хоть раз в жизни да копировал себе непонятный текстовый блоб

Ты не путай компьютер, в котором байты абсолютно одинаковые и физический снаряд, который проходит одной геометрией через кучу режимов. Где он там рванет или порвется хрен его знает.

Потом снизошло т.к. выделили достаточно времени и ресурсов и это уже была нормальная разработка. Нормальная разработка стоит дороже.

для этого кадры обучать надо, школу создать. А когда копируют, школа загибается, как загнулась вся электронная и микропроцессорная отрасль СССР.

AVL2 ★★★★★ ()
Ответ на: комментарий от anonymous

Tailgunner кажется юзает, могу ошибаться

Upd: да, его цитату нашёл: «Если ты думаешь быстрее Eclipse - ты на спидах»

upcFrost ★★★★★ ()
Последнее исправление: upcFrost (всего исправлений: 1)