LINUX.ORG.RU

hex-редактор, в стиле vi со скриптами на lua


0

2

Надоело! Много разных попробовал шестнадцатеричных редакторов, и консольных, и графических. Ни один меня не устраивает. Тогда я решил, возьму bvi и допилю его под свои нужды (bvi - потому что я предпочитаю vim) Ну, а для реверса, да и для разных лругих плюшек, нужна тотальная скриптизация. Думал добавить python, но он достаточно громоздко прикручивается. Тогда взял lua, и прикрутил.

Смотреть здесь https://gitorious.org/bvi/bvi

Надеюсь, кому пригодиться, или придется по душе.

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

★★★★★

Если полностью грузит файл в память, то не нужно.

pevzi ★★★★★
()

Добавил команду :map - теперь все готово для работы.

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

в точку! Он неплох, кстати говоря.

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

> да, у меня hex-редактор один из основных инструментов

А с какой целью используете, если не секрет?

bik ★★
()

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

:set color(addresses,999,000,000)
команда назначит цвет панели адресов (крайняя слева) на красный (формат rgb, 0-1000) еще добавил возможность писать в любую точку экрана, любым цветом из lua скриптов. Тестовый пример в каталоге plugins/test.lua запуск командой
:run test

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

можно целиком, а можно по-частям. Это указывается из командной строки. Хорошие новости - я связался с автором. Он включит мои дополнения в следующий релиз -1.3.3

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

я даже на scheme пишу в виме :) Правда пока только пробую. slimv работает на отлично!

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

Да. скоро поправлю. Буду сохранять исходное состояние и восстанавливать его. Сейчас тестирую парсинг структур описанных на Си

struct some {
int qwe;
long fg;
char mname[256];
};
Как закоммичу это сразу закоммичу и исправление для цветов.

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

Ок. Еще такое. Помимо того, что цвета убиваются после завершения, во время работы в urxvt-unicode сия цветовая гамма нейузабельна - командной строки, например, совсем не видно. Хорошо было бы, если бы был какой то вариант со стандартными цветами, без смены палитры

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

Вроде сделал сохранение/восстановление палитры. Еще добавил функции вычисления контрольных сумм и хешей. CRC функции буду переписывать и дополнять, пока это только первые штрихи. Также улучшен тестовый скрипт и добавлен скрипт, управляющий выводом контрольных сумм. Добавлена поддержка закладок (обозначаются плюсиком, рядом с адресом в первом столбце)

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

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

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

Да не, задание части файла не помогало. Подробнее позже отпишусь.

Vadim_Z
()
Ответ на: комментарий от XVilka

Ага, палитра восстанавливается. Но по-умолчанию у меня все равно х-ня какая то с цветами:

http://ompldr.org/vOXhtZQ/bvi.png

Где там хотя бы в сырцах поправить цвет строки ввода? А то оно у меня черное на черном

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

set.c sruct color colors[]

а вообще цвета легко меняются в .bvirc:

set color(«status», R, G, B) где R-G-B - числа от 0 до 1000

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

[1] 8141 segmentation fault ./bvi

От конфига ему как то плохеет

/home/avatar/Software/bvi: cat ~/.bvirc set color(«stat», 99, 99, 99)

со «status» тоже валится, только на отрисовке собственно статус бара

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

а, надо без пробелов указывать и в трехзначных числах и без кавычек:

set color(comm,099,099,099)

только что закоммиттил исправление для командной строки.

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

Да, для того чтобы воспользоваться чексуммами надо добавить

run checksum
в конфиг файл а потом можно вызывать: :lua shasums(15,200) например.

XVilka ★★★★★
() автор топика

Ох. ограниченность архитектуры оригинальной программы вынудила меня начать полный рефакторинг/переписывание с нуля приблизительно половины кода. Зато планирую вынести ядро в отдельный модуль, и сделать вывод информации независимо от типа интерфейса - GUI или консоль. Посмотрим что из этого выйдет.

XVilka ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.