Нех редакторе пару циферок поменять в файле как там написано 07 меняем на 08

Обновлено: 05.07.2024

JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

_________________
. какая гадость, эта ваша заливная рыба!

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Вот маленькая прога которая позволяет написать изменить проверить НЕХ.

Приглашаем всех желающих 25/11/2021 г. принять участие в вебинаре, посвященном антеннам Molex. Готовые к использованию антенны Molex являются компактными, высокопроизводительными и доступны в различных форм-факторах для всех стандартных антенных протоколов и частот. На вебинаре будет проведен обзор готовых решений и перспектив развития продуктовой линейки. Разработчики смогут получить рекомендации по выбору антенны, работе с документацией и поддержкой, заказу образцов.

у меня на сайте в файловом архиве имеется описание на русском языке формата Intel-HEX - можете найти, скачать, прочесть и тогда все станет понятно.

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

Приглашаем 30 ноября всех желающих посетить вебинар о литиевых источниках тока Fanso (EVE). Вы узнаете об особенностях использования литиевых источников питания и о том, как на них влияют режим работы и условия эксплуатации. Мы расскажем, какие параметры важно учитывать при выборе литиевого ХИТ, рассмотрим «подводные камни», с которыми можно столкнуться при неправильном выборе, разберем, как правильно проводить тесты, чтобы убедиться в надежности конечного решения. Вы сможете задать вопросы представителям производителя, которые будут участвовать в вебинаре

Спасибо всем за ответ. Я нашол как вычислять контрольную сумму.
Пример:

Имеем строку из hex файла.

:1001B000 10001A0020001A001E001A001E001A00 6B

первые 4 байта служебные символы нистал подробно их разбирать, следующие 16 байт данные и последний байт контрольная сумма

Произведем расчет контрольной суммы следующим образом.

Суммируем все символы строки по байтно (4 байта служебных и 16 байт данных).

Как редактировать шестнадцатеричные коды в Hex Editor Neo

Далеко не все файлы можно редактировать в текстовых редакторах. Например, при открытии картинки в Word мы увидим только набор случайных символов. А попытка сохранить его приведёт к потере данных. Всё дело в том, что для изменения двоичных файлов необходимо использование специальных редакторов. Hex Editor Neo предоставляет все необходимые функции для редактирования файла в шестнадцатеричном режиме.

В первую очередь открываем любой файл и видим его шестнадцатеричное представление. В правой части окна программы отображается символьное представление данных в файле.

Интерфейс Hex Editor Neo

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

Адреса в Hex Editor Neo

Для редактирования данных в файле просто ставим курсор на байт в шестнадцатеричном блоке или на символ в текстовом блоке Hex Editor Neo и вводим текст. Чтобы изменить шестнадцатеричный код, необходимо знать, какой код соответствует определённому символу. Для этого достаточно найти таблицу ASCII-кодов. Изменённые байты отображаются красным цветом.

Редактирование шестнадцатеричных кодов в Hex Editor Neo

Редактор Hex Editor Neo поддерживает стандартные функции копирования, вставки, вырезания, удаления. Есть в программе режим вставки (Insert Mode), когда при вводе символов все остальные данных отодвигаются относительно текущей позиции. Кнопка [Modify Bits] открывает окно побитного редактирования байта. Здесь можно просто включать/выключать кнопки, соответствующие каждому из восьми битов, присваивая, соответственно, нулевое или единичное значение биту. Кроме того, в битовом редакторе доступны такие операции, как быстрое обнуление или «объединичивание» всех битов, инвертирование битов. Можно изменить байты и вручную, просто введя необходимую последовательность единиц и нулей. А три режима позволяют увидеть шестнадцатеричное, десятичное или восьмеричное представление редактируемого байта.

Редактирование в битовом режиме в Hex Editor Neo

Функция Fill редактора Hex Editor Neo позволяет заполнить выделенные байты указанными данными. Просто выделяем несколько байтов, жмём кнопку [Fill] и вводим символ, который будет автоматически подставлен. Здесь же есть список типов данных, выбираемых в соответствии с вводимой информацией. Например, если мы хотим заменить выбранные байты на символ «а», выбираем тип String.

Замена нескольких байтов в файле

Полезна функция Go to offset, помогающая быстро перейти на указанный адрес (байт) в файле. Отметим также возможность изменения размера файла (Change File Size). Можно указать новый размер файла как в шестнадцатеричном представлении, так и в более привычном десятеричном (байты), а также в Килобайтах, Мегабайтах и Гигабайтах. В поле Resulting file size при этом отображается итоговый размер файла. При уменьшении размера лишние байты просто отбрасываются, а при увеличении заполняются нулями.

Изменение размера файла в Hex Editor Neo

Характеристики:
Язык интерфейса: английский
ОС: Windows XP, Vista
Размер файла: 8,4 Мб
Лицензия: бесплатная

Почитав наш любимый форум и пообщавшись с нубами я понял одну вещь.. Много юзеров этого форума имеют плохие представления о шестнадцатиричной системе счисления (далее 16 СС или хекс). Дабы уменьшить пустоты в этой области знаний пишу данный ликбез.

Начнем с азов.
Хекс система имеет слегка "непривычный" нам (бренным телам) набор чисел. А именно: 0 1 2 3 4 5 6 7 8 9 A B C D E F. ЧислА G (да и всех последующих) в ней нет, поэтому при изменении значений смысла писать эту букафку тоже нет. Любой фаил, который вы откроете хекс-редактором в первую очередь предстанет перед вами в виде наборов этих циферо-буковок. По идее все данные там идут друг за дружкой, но для удобства программы-редакторы разбивают их на пары (0Е 3А и т.д.). Такие пары по буржуйски зовутся оффсетами (offset) или по нашински - байтами (Напомню, что 1 байт = 2^8 бит = 256 значений, которые хексом кодируются всеми различными парами от 00 до FF). Так же каждый байт имеет свой адрес, который тоже записывается в хекс.

Получение хекс значения.
Для того, чтобы получить аналог нашего с вами числа в хекс существует несколько способов:


Самый доступный. При условии что у вас винда).
Открываем калькулятор и включаем в нем инженерный вид.



Перед нами великое творение мелкомягких во всем его великолепии. Слева вверху мы видим незамысловатые надписи Hex и Dec (остальные нас не интересуют).



Как уже наверное некоторые догадались Hex - режим отображения в хекс, Dec - в привычной нам 10 СС. Для того чтобы получить хекс значение - выделяем Dec и вводим наше с вами число. Затем тыкаем на Hex и. бах! Получаем значение в хекс-формате. Эта незамысловатая утилитка разбивает значения в группы по 4. Этого можно не пугаться, итоговое значение при копировании будет таким каким нам нужно. Кстати зачем она это делает - ума не приложу.. наверное понтуецо =)
Для получения десятичного числа из хекс делаем все с точночстью до наоборот. Т.е. сначала тыкаем Hex, вводим число и тыкаем Dec.
.
Для счастливых обладателей WinHex'а.
----
И сказал пророк:"Открой ВинХекс и тыкни на F8. Будет тебе счатье до конца дней твоих!"
----
Следуя наказам пророка поступаем в точности как он говорил. И, о чудо! Перед нами появляется великое окошечко!


Теперь все, что от нас требуется это ввести либо хекс значение либо десятичное. Они вводятся слева и справа соответственно (для тех, кто в танке: 1000 - это десятичное число, 3Е8 - хекс). Далее тыкается ентер и мы получаем нужное нам число в соответствующей графе. Усе.
.
Для продвинутых читеров.
Люди использующие СЕ (Cheat Engine, есть в архиве темы) могут прибегнуть к оч хитрой фишке этой программы. А именно:

В выделенном мною (красным прямоугльничком) поле ввести значение нуждающееся в переводе (при вводе хекс-значения - галочка Hex есть, при вводе десятичного значения галочки нет). и. поставить или убрать соответственно галочку! Усе. Число переведтся в выбранную СС.

-Запись хекс значения
Трудная часть закончилась. Теперь начнется АД. Дело в том, что все числа хранятся в "неправильном" порядке. А именно задом-наперед.
Для того, чтобы нам правильно вписать число в память, нужно проделать несколько простых действий:
1. Разбить наше с вами хекс число на пары. Начинать с правого конца. Для примера я возьму длинное число:

Код:
009624D4В итоге получаем:

Код:
00 96 24 D4
Если чисел нечетное количество, к примеру 3Е8, то оставшееся одинокое число (оно всегда должно получаться слева) дополнить ноликом. 03 Е8.

Так же замечу, что если вам известо, что в данной области памяти хранится число определенного размера (к примеру 4 байта), а цифорок даже по прикидкам "на глаз" слегка меньше, то надо дописать нолики до этой размерности. На примере того же числа: 00 00 03 Е8.

2. Поменять байты местами. Т.е. последний станет первым, предпоследний - вторым и т.д. В нашем случае получаем:

Код:
D4 24 96 00Для второго числа:


Код:
Е8 03 00 00.
3. Полученную последовательность спокойно вписывать в память.

Для получения правильного значения в 10 СС делаем все в обратной последовательности (от пункта 3 к пункту 1).

Незнанием этого "момента" объясняются многие косяки юзеров по типу: "ААА!! Изменил этот пакет и меня выкинуло. " Ни для кого не секрет, что первые два байта в пакете (в трафике РФ) - его длина в хекс.

Вот для примера пакет:

Код:
12 00 04 05 40 3F 4C 00 13 1E A6 FF 78 0B 81 1D 2B 0B

Первые два байта - 12 00. При правильном переводе в 10 СС мы получим длину равную 18. Подсчитав число байт, убедимся, что значение верное. Дык вот. При изменении длины пакета, длину тоже надо менять. При чем правильно, а не тупым переводом из 10 СС в хекс.

На этом спешу закончить.

З.ы: Темка содрана с чужого форума, но может быть полезна и нашим начинающим читерам =)

Hex-редактор (англ. hex-editor ), шестнадцатеричный редактор — приложение для редактирования данных, в котором данные представлены в «сыром виде» — как последовательность байтов. Он может быть как отдельным самостоятельным приложением, так и компонентом другого, более сложного приложения, такого как дизассемблер, отладчик, интегрированная среда разработки и т. п.

Для представления значения байтов используется шестнадцатеричная (англ. hexadecimal ) система счисления, что и отражено в названии редактора. Выбор шестнадцатеричной системы счисления обусловлен следующими факторами:

Очевидно, что, например, для платформ с 9-битовым байтом использовались бы трёхзначные восьмеричные числа, а аналогичное по функциональности приложение называлось бы Oct-редактором.

Данные, которые отображает и позволяет редактировать Hex-редактор, могут быть:

Содержание


Hex-редактор отображает данные в виде матрицы, каждая ячейка которой соответствует одному байту, записанному в шестнадцатеричной системе счисления в виде двухзначного числа (с ведущим нулём, если он требуется). Количество столбцов матрицы является степенью двойки, чаще всего используются 16 или 8 колонок, иногда 4. Число строк зависит от количества байтов, которые требуется отобразить/отредактировать. В случае использования 16 колонок одна строка соответствует одному параграфу.

Кроме этого, часто используются дополнительные элементы:

  • Слева от матрицы отображается линейка (на рисунке показана синим цветом) из чисел: каждой строчке соответствует число, означающее адрес/смещение первого байта этой строчки. Шаг адресов при этом равен количеству колонок.
  • Сверху от матрицы отображается другая линейка (на рисунке показана зелёным цветом) из чисел: над каждой колонкой отображается смещение байта, стоящего в этой колонке, относительно первого байта соответствующей строчки. Сумма числа, соответствующего i -той строке, и числа, соответствующего j -той колонке является адресом/смещением байта (i;j) , стоящего на пересечении взятой строки и взятого столбца.
  • Справа от матрицы могут отображаться те же данные, но в другой интерпретации. Наиболее часто используется альтернативное отображение данных как текста в кодировке ASCII (на рисунке показаны цветом фуксия), при этом байты, значения которых соответствуют непечатным символам, отображаются как точки ( · ). Многие редакторы позволяют выбрать произвольную кодировку для режима отображения текста. Вариант с отображением данных как текста встречается в Hex-редакторах общего назначения. В редакторах же, являющихся частью какой-либо специальной программы, например отладчика, обычно доступны другие режимы, такие как листинга дизассемблирования, подсказок об адресах, и другие специфичные для приложения режимы.

Большинство редакторов позволяют совершать редактирование как в левой половине, так и в правой (при её наличии). При этом совершаемые изменения когерентны [1] .

Простые редакторы позволяют только менять значение выбранных байтов по отдельности. Продвинутые — редактировать совокупности байтов как цельные блоки [2] , выполнять поиск по последовательностям или шаблонам последовательностей.

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

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

Если Hex-редактор имеет функции дизассемблера или дизассемблирование целевой программы уже было проведено с помощью другого инструмента заранее, и известно смещение, можно внести изменение непосредственно в код программы и изменить её поведение. Этим пользуются при исправлении ошибок, взломе, читерстве, ручном твикинге.

Поскольку Hex-редактор является достаточно универсальным инструментом, описать все варианты его применения не представляется возможным.


Свободный hex-редактор KHexEdit входящий в состав KDE (kdeutils)

$ echo 1234567890ABCDEF > test.bin

Теперь посмотрим, что записалось внутрь файла:

$ hexdump -C test.bin
00000000 31 32 33 34 35 36 37 38 39 30 41 42 43 44 45 46 |1234567890ABCDEF|
00000010 0a |.|
00000011
$

В данной статье будет рассказано о работе в бесплатном hex-редакторе Free Hex Editor Neo, на примере правки файла BkEnd.dll из поставки 1С:Предприятие 7.7 для корректной работы этой системы с Microsoft SQL Server 2008 R2.

0. Оглавление

1. Немного о hex-редакторах и файлах

Как известно, любой файл, хранясь на жестком диске компьютера, представляет собой последовательность машинных слов — байтов. Байт, в свою очередь, состоит из 8 битов, каждый из которых может принимать значение «0» или «1» , а это означает, что один байт может принимать 2 8 =256 значений в диапазоне от 0 до 255. Число 25610, записанное в шестнадцатеричной системе, является круглым трёхзначным числом — 10016, т. е. для представления любого числа из диапазона 0—255 потребуется не более 2 разрядов. А это значит, что значение каждого байта очень удобно записать двузначным числом в шестнадцатеричной системе счисления.

Hex-редактор (англ. hex-editor) показывает нам файл, так, как его «видит» машина, а именно, последовательностью байтов. Например, открыв файл в редакторе, мы увидим матрицу, состоящую из 16 колонок и числа строк зависящего от размера файла. Каждое значение матрицы соответствует одному байту, записанному двузначным шестнадцатеричным числом. Изменяя значение нужного байта, мы можем, соответственно, изменить сам файл.

Кроме того, рядом с таблицей можем увидеть:

  • Слева от матрицы отображается линейка из чисел: каждой строчке соответствует число, означающее адрес/смещение первого байта этой строчки. Шаг адресов при этом равен количеству колонок.
  • Сверху от матрицы отображается другая линейка: над каждой колонкой отображается смещение байта, стоящего в этой колонке, относительно первого байта соответствующей строчки. Сумма числа, соответствующего i -той строке, и числа, соответствующего j -той колонке является адресом/смещением байта (i;j) , стоящего на пересечении взятой строки и взятого столбца.
  • Справа от матрицы отображаются те же данные, но в другой интерпретации. Чаще всего используется альтернативное отображение данных как текста в кодировке ASCII , при этом байты, значения которых соответствуют непечатным символам, отображаются как точки ( · ). Редактировать значения можно и в этой области.


Подробнее о Hex-редакторах можно прочитать здесь.

2. Установка Free Hex Editor Neo

Скачиваем Free Hex Editor Neo с официального сайта. Программа бесплатна, на момент написания статьи последней была версия 5.14. Устанавливаем, следуя инструкциям инсталлятора, не меняя настроек по умолчанию. При первом запуске программа предложит выбрать режим интерфейса. Выбираем «Novice user» , этого более чем достаточно.


3. Работа с файлом hex-редакторе

Например, мне нужно в байт со смещением 000d9cca записать значение eb. Для этого я нахожу строку «000d9cco» и столбец «0a», кликаю два раза по нужной ячейке и забиваю новое значение.


Действуя аналогично, я вношу следующие изменения:

  1. Для исправления ошибки «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!» изменяем поля:
    по смещению 000d9cca значение 83 меняем на eb
    по смещению 000d9ccb значение e8 меняем на 15
    по смещению 000db130 значение 83 меняем на eb
    по смещению 000db131 значение e8 меняем на 10
  2. Для исправления ошибки «Порядок сортировки, установленный для базы, отличается от системного!»:
    по смещению 0018a79d значение 75 меняем на eb
  3. Для исправления ошибки «Неправильный синтаксис около ключевого слова «TRANSACTION»
    Фразу DUMP TRANSACTION %s WITH TRUNCATE_ONLY , которая находится по смещению 002856B0 заменяем на фразу ALTER DATABASE %s SET RECOVERY SIMPLE
  4. Для исправления ошибки «База данных не может быть открыта в однопользовательском режиме», изменяем поля:
    по смещению 0028549c значение 64 меняем на 6b
    по смещению 0028549d значение 62 меняем на 70

После того, как все изменения сделаны, сохраним файл, нажав «File» — «Save» .

Смотрите также:

В данном вебинаре я расскажу о применяемых в нашей компании правилах и приемах доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления. В видео использованы материалы…

Официально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL…

Небольшая зарисовка на тему, какие были бы сливные трубы, если бы их делали 1С-ники.

В данной статье будет рассказано о работе в бесплатном hex-редакторе Free Hex Editor Neo, на примере правки файла BkEnd.dll из поставки 1С:Предприятие 7.7 для корректной работы этой системы с Microsoft SQL Server 2008 R2.

0. Оглавление

1. Немного о hex-редакторах и файлах

Кроме того, рядом с таблицей можем увидеть:

  • Слева от матрицы отображается линейка из чисел: каждой строчке соответствует число, означающее адрес/смещение первого байта этой строчки. Шаг адресов при этом равен количеству колонок.
  • Сверху от матрицы отображается другая линейка: над каждой колонкой отображается смещение байта, стоящего в этой колонке, относительно первого байта соответствующей строчки. Сумма числа, соответствующего i -той строке, и числа, соответствующего j -той колонке является адресом/смещением байта (i;j) , стоящего на пересечении взятой строки и взятого столбца.
  • Справа от матрицы отображаются те же данные, но в другой интерпретации. Чаще всего используется альтернативное отображение данных как текста в кодировке ASCII , при этом байты, значения которых соответствуют непечатным символам, отображаются как точки ( · ). Редактировать значения можно и в этой области.

Patch_BkEnd_02

Подробнее о Hex-редакторах можно прочитать здесь.

2. Установка Free Hex Editor Neo

Patch_BkEnd_01

3. Работа с файлом hex-редакторе

Patch_BkEnd_03

Действуя аналогично, я вношу следующие изменения:

Смотрите также:

В данном вебинаре я расскажу о применяемых в нашей компании правилах и приемах доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления. В видео использованы материалы…

Официально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL…

Небольшая зарисовка на тему, какие были бы сливные трубы, если бы их делали 1С-ники.

Читайте также: