Когда дело касается денег, всегда найдётся множество советчиков, у которых нет за душой и ломаного гроша.
Роберт Кийосаки

Меню навигации для мобильных

Как работает функция переход по смещению в разных HEX редакторах?

Автор Nikopol, 22 Нояб., 2024, 12:05

« предыдущая - следующая »

Nikopol

Кто нибудь может объяснить как делать переход по смещению.
Имеем 3 редактора. Hex Editor Neo, HxD Hex Editor и Bless Hex Editor. И при переходе по любому смещению, например 540000, я ожидаю попасть на него, но только HxD Hex Editor переходит к нему, а 2 остальных 83d60.
Как это происходит и как перейти по смещению которое я ввожу?

Shaman

Так происходит потому что в HxD Hex Editor, в окне перехода, стоит галочка hex то-есть смещение вводится в шестнадцатеричном формате. И если вы переставите её на dec, то получите, то же поведение, что и в других редакторах, т.к. 540000 при переводе из десятичной в шестнадцатеричную систему счисления и будет 83d60.
Сейчас посмотрел два других редактора и не нашел там как писать сразу в шестнадцатеричной системе и для перехода приходится через калькулятор переводить (по-моему это дурь).

Slabovik

Тут скорее надо по контексту смотреть.
Не было мысли, что чтобы число было принято как 16-ричное, нужно его вводить как '0x12345' ? Или, возможно, в интеловской нотации: '12345h' ?
Да, конечно косяк, ибо когда думаешь "hex-редактор" по-умолчанию подразумеваешь 16-ричные числа, ну т.е. точно такие, какие он показывает на экране, но... а кто сейчас о юзабилити вообще думает?

Вот, как пример, требования hex-редактора
ЦитатаTo use ImHex, the following minimal system requirements need to be met.
Important: ImHex requires a GPU with OpenGL 3.0 support in general.

Integrated Intel HD iGPUs are supported, however certain drivers are known to cause various graphical artifacts, especially on Windows.
ппц, приплыли...
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Nikopol

Огромное спасибо за помощь. А то мучался с прокруткой ))

Цитата: Slabovik от 22 Нояб., 2024, 22:06Не было мысли, что чтобы число было принято как 16-ричное, нужно его вводить как '0x12345' ? Или, возможно, в интеловской нотации: '12345h' ?

Проверил Hex Editor Neo не понимает. Bless Hex Editor понимает в виде '0x12345'

Slabovik

Ну да, кстати
Цитата: https://hackware.ru/?p=15230Чтобы переместить курсор в определённую позицию в файле:

    Введите смещение в текстовом поле Offset («Смещение») (в желаемом числовом формате). Если типизированное смещение начинается с «0x», оно считается шестнадцатеричным, если оно начинается с «0», оно считается восьмеричным, иначе оно считается десятичным.
    Нажмите кнопку Go to Offset.
А... Hex Editor Neo не захочет через какое-то время перестать работать? А то я от них терминал пробовал, тоже Free, но он потом перестал работать, сказал "ой, фсё"...
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Nikopol

Точно, X водил кирилицей  ;D

Цитата: Slabovik от 26 Нояб., 2024, 13:23А... Hex Editor Neo не захочет через какое-то время перестать работать?
Нет, я его в зелёном магазине взял.

Пришлось, поскольку я не нашел поиск по регулярным выражениям в HxD Hex Editor  и Bless Hex Editor. Строчка вида ([0-9A-Z]{5}-){4} в них не работает, а мне это надо.