Это команда bview, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
bvi, bview - визуальный редактор для бинарных файлов
Версия
бви-1.4.0
СИНТАКСИС
BVI [-R] [-c CMD] [-f скрипт] [-s пропускать] [-e конец] [-n ] файл...
bview. [-R] [-c CMD] [-f скрипт] [-s пропускать] [-e конец] [-n ] файл...
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
файл...
Список имен файлов. Первый будет текущим файлом и будет прочитан в
буфер. Курсор будет помещен в первую строку буфера. Ты
можно перейти к другим файлам с помощью команды ": next".
-R «Только для чтения»: для всех файлов установлен флаг «Только для чтения», предотвращающий случайное
перезапись командой записи.
-s пропускать
заставляет bvi загружать файл не с начала, а со смещения пропускать. Пропустить байты смещения
с начала ввода. По умолчанию смещение интерпретируется как десятичное.
количество. С начальным 0x или 0X смещение интерпретируется как шестнадцатеричное число,
в противном случае, если в начале стоит 0, смещение интерпретируется как восьмеричное число. Добавление
символ b, k или m для смещения заставляет его интерпретировать как кратное 512, 1024,
или 1048576 соответственно.
-e конец
заставляет bvi загружать файл не до конца, а до адреса конец.
-n
заставляет bvi загружать не весь файл, а только байт.
-c CMD
CMD будет выполнен после того, как будет прочитан первый файл. Если CMD содержит
пробелы, он должен быть заключен в двойные кавычки (это зависит от оболочки, которая
используемый).
-f скрипт
Эта команда предоставляет средства для сбора серии команд "ex" (двоеточие) в
файл сценария, а затем использовать этот файл для редактирования других файлов. Поскольку нет двоичного потока
редактор "bsed", вы можете использовать эту опцию для внесения нескольких глобальных изменений в двоичный файл.
.
ОПИСАНИЕ
Bvi расшифровывается как «редактор двоичных изображений». Bvi - это экранный редактор для двоичных файлов;
его набор команд основан на vi(1) текстовый редактор. Поскольку двоичный редактор не
имеют понятие "линии", есть отличия от команд Vi, где бы последние
линия ориентируется.
СРАВНЕНИЕ
Основные различия между Vi и Bvi:
Экран разделен на три части или панели: байтовое смещение (крайнее левое), шестнадцатеричное.
панель (посередине) и панель ascii (справа), которая показывает в виде печатаемых символов эти байты
в шестнадцатеричной панели. На терминале с 80 столбцами будет шестнадцать шестнадцатеричных значений и их
Значения ASCII в каждой строке экрана. Обратите внимание, что (как и следовало ожидать) первый байт имеет
смещение '0' (ноль).
Вы можете переключаться между шестнадцатеричным и ascii-окнами с помощью клавиши табуляции (TAB). Переключение между
эти два окна не изменяют текущую позицию (смещение) в файле.
Отсутствие концепции «строк»: файлы рассматриваются как один длинный поток байтов. Персонажи
«Новая строка» и «возврат каретки» не являются особенными, т. е. они никогда не отмечают конец строки.
Поэтому линии на экране не соответствуют обычным линиям. Данные не работают
по строкам экрана произвольно. Как следствие, в bvi нет команд от ex или
vi, основанные на номерах строк, например, «dd», «yy», 'C', 'S', 'o', 'O'. Это тоже меняет
значение "range" перед командой ": write" в байтовом смещении, т.е. команда
": 100,200w foo" записывает все * байты * (не строки) от смещения 100 до смещения 200 в файл.
"фу".
Нет "текстовых объектов". Также нет специфичных для текста договоренностей, таких как слова, абзацы и т. Д.
предложения, разделы и так далее.
Расширенная «линейка»: в нижней строке экрана отображается текущий адрес (смещение в байтах).
и текущий символ в этих обозначениях:
восьмеричный, шестнадцатеричный, десятичный и ascii.
Шаблоны поиска: все команды поиска понимают эти специальные символы:
. любой персонаж
[] набор символов
* ноль или более вхождений предыдущего символа или набора
Но поскольку нет концепции линий, вы не можете использовать стандартные символы ("якоря") для
«начало строки» ('^') и «конец строки» ('$'). Поиск начала / конца строк должен
быть сделано явно, добавив эти специальные символы в ваш шаблон поиска, используя эти
мета-последовательности:
\ n новая строка
\ r возврат
\ t вкладка
\ 0 двоичный ноль
Дополнительные команды поиска: аналогично командам текстового поиска есть дополнительные шестнадцатеричные
функции поиска '\' и '#', которые позволяют искать любое значение байта. Пример: "\ 62 76
69 "будет искать строку" bvi ". Пробелы между шестнадцатеричными значениями необязательны, поэтому поиск
для "6775636B6573" найдет "гакы".
Изменение длины данных (вставка, удаление) перемещает данные по другим адресам; это
плохо для многих случаев (например, для баз данных, программных файлов) и поэтому отключен по умолчанию. Ты
можно включить эти команды, набрав
: установить memmove
BVI Режимы работы:
Командный режим (нормальный режим):
Ввод рассматривается как команда. Обратите внимание, что командный режим является режимом по умолчанию после запуска и
после выхода из режима ввода. Используйте ESC (escape), чтобы отменить частичное (незавершенное)
команда.
Режим ввода:
Ввод трактуется как замена текущих символов или (после конца файла)
добавляется к текущему файлу. В этот режим можно войти из командного режима, набрав один из
«i», «I», «A», «r» или «R». Вы можете вводить символы с клавиатуры (в формате ASCII
окно) или шестнадцатеричные значения (в окне HEX). Введите TAB для переключения между этими двумя
окна. Введите ESC, чтобы завершить текущий ввод и вернуться в командный режим. Введите CTRL-C, чтобы
отменить текущую команду ненормально.
Режим командной строки (режим последней строки или режим:):
Как и в vi, в этот режим можно войти, набрав один из символов: /? \ #! В
команда завершается и выполняется путем ввода возврата каретки; отменить частично
набрав команду, введите ESC, чтобы отменить текущую команду и вернуться в командный режим.
ОКРУЖАЮЩАЯ СРЕДА
Редактор распознает переменную среды BVIINIT как команду (или список
команд) для запуска при запуске. Если эта переменная не определена, редактор проверяет наличие
команды запуска в файле ~ / .bvirc файл, которым вы должны владеть. Однако если есть
a .bvirc принадлежащий вам в текущем каталоге, редактор принимает его команды запуска
из этого файла - переопределение как файла в вашем домашнем каталоге, так и окружения
Переменная.
ТЕРМИНОЛОГИЯ
Имена персонажей сокращены следующим образом:
Сокр. Имя ASCII, также известное как
CR 010 возврат каретки
^ A 001 control-a
^ H 008 control-h
^ I 009 control-i aka TAB
^ U 021 control-u
^ Z 026 control-z
ESC 027 побег он же ESC
DEL 127 удалить
ВЛЕВО --- стрелка влево
ВПРАВО --- стрелка вправо
ВНИЗ --- стрелка вниз
ВВЕРХ --- стрелка вверх
КОМАНДА РЕЗЮМЕ
См. ТЕРМИНОЛОГИЮ для получения краткого обзора сокращений названий клавиш, используемых в следующих
описание команд.
Абстрактные:
Клавиши со стрелками перемещают курсор по экрану в текущем окне.
Образец команды:
: версия показать информацию о версии
<- v ^ -> клавиши со стрелками перемещают курсор
hjkl так же, как клавиши со стрелками
ты отменил предыдущее изменение
ZZ выход из bvi, сохранение изменений
: q! выйти, отмена изменений
/текст поиск текст
^ U ^ D прокрутка вверх или вниз
Графы до BVI команды:
Числа могут быть введены в качестве префикса к некоторым командам.
Они интерпретируются одним из этих способов.
столбец экрана ⎪
байт файла G
количество прокрутки ^ D ^ U
повторить эффект большую часть остальных
Прерывание, отмена
ESC конец вставки или неполная команда
DEL (удаление или стирание) прерывает
Файл манипуляции:
ZZ, если файл изменен, записать и выйти;
в противном случае выход
: w записать измененный буфер в файл
: w! записать измененный буфер в файл, переопределив
только для чтения («принудительная» запись)
: q выйти, если не было сделано никаких изменений
: q! выйти и отменить все изменения
:e файл отредактировать файл
: e! перечитать текущий файл, отменить все изменения
: e # редактировать альтернативный файл
: e! # редактировать альтернативный файл, отменить изменения
:w файл записать текущий буфер в файл
: w! файл записать текущий буфер в файл переопределение
только для чтения (это "перезаписывает" файл)
: sh запустить команду, указанную в параметре "shell",
затем вернитесь
:!CMD запустить команду CMD из "ракушки", то
возвращают
: n редактировать следующий файл в списке аргументов
: f показать текущее имя файла, измененный флаг,
текущее смещение байта и процент от
текущая позиция в буфере
^ G то же, что и: f
дополнительный отредактировать команды
Вы можете вставлять / добавлять / изменять байты в ASCII / двоичном / десятичном / шестнадцатеричном или восьмеричном формате.
представление. Вы можете ввести несколько (экранных) строк ввода. Строка только с точкой
(.) в нем завершит команду. Вы не должны вводить значения больше байта
ценить. Это вызывает отказ от команды. Нажатие клавиши CR не вставляет
новая строка - символ в файле. Если вы используете режим ASCII, вы можете использовать специальный
символы \ n, \ r, \ t и \ 0.
: i aCR вставить байты (ASCII) в позицию курсора
: a bCR добавить байты (двоичные) в конец файла
: c hCR изменить байты (шестнадцатеричные) в позиции курсора
Битовый уровень операции
:а также n побитовая операция 'и' со значением n
:или n побитовая операция 'или' со значением n
: xor n побитовая операция 'xor' со значением n
: neg два дополнения
: не логическое отрицание
: sl i сдвигать каждый байт i биты слева
: sr i сдвигать каждый байт i биты вправо
: rl i повернуть каждый байт i биты слева
: rr i повернуть каждый байт i биты вправо
Command Режим адреса
: w foo записать текущий буфер в файл
по имени "фу"
: 5,10w foo скопировать байты с 5 по 100 в как
файл с именем foo
:.,. + 20w foo скопировать текущий байт и следующий
20 байт в foo
: ^, 'aw foo записать все байты с начала
через маркер 'а'
:/похлопывание/, шаблон поиска $ foo похлопывание и и копировать
через конец файла
Точность позиционирования в файл:
^ B экран назад
^ F передний экран
^ D прокрутите вниз половину экрана
^ U прокрутка вверх на половину экрана
nG перейти к указанному символу
(конец по умолчанию), где n это десятичный адрес
/похлопывание соответствие следующей строки похлопывание
?похлопывание соответствие предыдущей строке похлопывание
\шестнадцатеричный перейти к следующему вхождению шестнадцатеричной строки шестнадцатеричный
#шестнадцатеричный перейти к предыдущему появлению шестнадцатеричной строки шестнадцатеричный
n повторить последнюю команду поиска
N повторить последнюю команду поиска, но наоборот
направление
регулировка домен экран:
^ L очистить и перерисовать экран
zCR перерисовывает экран с текущей строкой вверху экрана
z- перерисовать экран с текущей строкой внизу
экран
z. перерисовать экран с текущей линией в центре
экран
/похлопывание/ z - поиск шаблона похлопывание а затем переместить токи
линия вниз
^ E прокрутка экрана вниз на 1 строку
^ Y прокрутить экран вверх на 1 строку
маркировка и возвращение:
mx отметить текущую позицию строчными буквами x
Примечание: эта команда работает со всеми строчными буквами
'x переместите курсор, чтобы отметить x в разделе ASCII
`x переместите курсор, чтобы отметить x в HEX разделе
'' переместить курсор в предыдущий контекст в разделе ASCII
`` переместить курсор в предыдущий контекст в HEX-разделе
линия позиционирование:
H перейти к первой строке экрана («вверху»)
L перейти к последней строке на экране ("низкий")
M перейти к средней строке экрана ("середина")
- перейти на предыдущую строку на экране
+ перейти на следующую строку на экране
CR то же, что и +
ВНИЗ или j следующая строка, тот же столбец
ВВЕРХ или k предыдущая строка, тот же столбец
Характер позиционирование:
^ первый байт в HEX-окне
$ конец строки экрана
l или ВПРАВО перейти на следующий байт (в пределах текущего
экранная линия)
h или LEFT переход на предыдущий байт (в пределах текущего
экранная линия)
^ H так же, как LEFT
пробел такой же, как ВПРАВО
fx найти следующее вхождение символа x
Fx найти предыдущее появление символа x
n⎪ запрыгнуть на n-й байт / символ в текущем
линия
Строки:
(работает аналогично струны(1) команда)
Примечание. «Слова» определяются как строки «непечатаемых»
персонажи".
е перейти к следующему концу слова
w перейти к следующему началу слова
b перейти к предыдущему началу слова
W вперед к следующей строке, разделенной символом
\ 0 или \ n
B вернуться к предыдущей строке, разделенной символом
непечатаемый символ
исправления в течение вставлять:
^ H удалить последний символ (backspace)
удалите символ стирания, как ^ H (backspace)
ESC завершает вставку, возвращается в командный режим
присоединять и заменять:
Добавление в конец файла
rx заменить текущий bte на char 'x'
R войти в режим замены; для всех последующих вводов,
текущий байт заменяется следующим входным символом; оставлять
замените режим на ESC.
Прочее Операции:
TAB переключение между ASCII и HEX разделом
дергать и Положить:
3ySPACE скопировать 3 символа
p вставить содержимое буфера восстановления
o заменить текст содержимым буфера восстановления
P вернуть в конец файла
Отменить, Повторить:
ты отменил последнее изменение
Примечание. Отменить можно только последнее изменение.
Поэтому эта команда переключает между
последнее и второе-t-последнее состояние буфера.
настройка Опции:
С помощью команды: set вы можете установить параметры в bvi
Параметр По умолчанию Описание
autowrite noaw Сохранить текущий файл, если он был изменен, если вы
дайте: n,: r или! команда
столбцы см = 16 на терминале шириной 80 символов
ignorecase noic Игнорировать регистр букв при поиске
магия кочевой делает. [* специальные в моделях
memmove nomm позволяет вставлять и удалять команды
offset of = 0 добавляет смещение к отображаемым адресам
readonly noro Если установлено, запись не удастся, если вы не используете! после команды
прокрутка sc = 1/2 окна
Количество строк, прокручиваемых ^ U и ^ D
showmode mo Отображает строку состояния внизу экрана
краткое содержание Позволяет получать более короткие сообщения об ошибках
окно window = размер экрана
Строки в окне, можно уменьшить на медленных терминалах
worddlength wl = 4 Длина строки ASCII, найденной с помощью w, W, b или B
wrapscan ws Поиск продолжается до конца файла
unixstyle nous Представление символов ascii ниже
32 отображается в строке состояния, как показано
in ASCII(7) если не установлено, скорее в стиле DOS (^ A)
Используйте bview в Интернете с помощью сервисов onworks.net