1с установка bkend dll
Решил собрать в одной теме все “подводные камни” , которые могут вас ожидать, если вы задумаете перейти на платформу 2008. Для начала хочу сказать, что 1С 7.7 прекрасно работает на Windows 2008 x32/x64 + MS SQL 2008 x32/x64.
Итак, начнем по порядку:
НАСТРОЙКА SQL 2008
ключевым моментом является правильная установка MS SQL 2008:
- выбрать режим смешанной аутентификации и не забыть указать пароль sa;
- при выборе локализации обязательно выберите в списке Cyrillic_General_CI_AS.
Далее все как обычно.
После установки необходимо создать sql пользователя и назначить ему роль processadmin
это необходимо для того, чтобы с базой могли работать несколько пользователей
ВАЖНО: имя базы данных и имя пользователя не могут начинаться с цифры, равно как не должны иметь знаков пробелов
При создании базы меняем владельца базы по умолчанию на созданного пользователя
в разделе Options устанавливаем Compatibility Level MS SQL 2000(80) и Recovery Model Simple
На этом настройка SQL 2008 окончена.
Переходим к настройке ОС
Настройка Windows 2008
Необходимо с сервера под управлением Windows 2003 переписать три библиотеки , которые находятся в %systemroot%\System32
sqlsrv32.dll, sqlsrv32.rll & odbcbcp.dll и записать их в %systemroot%\System32 и в %systemroot%\SysWOW64
для w2k8 x64 необходимо скопировать в оба каталога, для w2k8x32 только в %systemroot%\System32 соответственно.
Для того, чтобы переписать эти файлы поверх имеющихся необходимо стать владельцем оригинальных файлов и добавить прав группе Adminisrators на Full Control.
На этом настройка Windows 2008 закончена.
Примечание: если в дальнейшем будут возникать проблемы с 1С, то это проблемы 1С а не ПО от Microsoft. Все проблемы можно будети решить путем правки библиотек 1С
Настройка клиетской части 1С
Для начала работы нам понадобится оригинальная установленная 1С и любой hex редактор (я лично пользовался Hex Comparison)
Вы также можете найти в Интернет уже готовые пропатченные файлы (лично я предпочел сам отредактировать)
Итак, необходимо внести следующие изменения в файл BkEnd.dll
Ошибка “Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!” исправляется первыми четыремя строками кода
Ошибка “Порядок сортировки, установленный для базы, отличается от системного!” исправляется 5-й строчкой кода.
Также можно положить в каталог с конфигурацией или в каталог 1Cv77\BIN файл OrdNoChk.prm
Этот метод является официальной рекомендацией 1С для устранения ошибок с сортировкой.
Примечание: Эти рекомендации будут работать если у вас на ОС установлена Russia в региональных настройках.
возникает при попытке загрузить данные в базу средствами 1С. Исправляется заменой фразы DUMP TRANSACTION… (исправлять в том случае, если не помогла установка параметра Recovery Model)
Установка клиента 1С на Windows Server 2008 x64
Устанавливается методом обыкновенного копирования с рабочей станции, где установлена 1С каталога 1Cv77
Централизованное обновление клиенской части 1С
После того как, Вы убедились в работоспособности произведенных изменений, встает вопрос как это централизованно изменить на рабочих станциях, чтобы не делать все вручную
Я пробовал создать msi пакет, но столкнулся с проблемой замены владельца на файлы sqlsrv32.*
Через msi получилось сделать все, но файлы залоченные TrustedInstallers не копировались.
Я решил проблему по другому – написал простенький логон скрипт:
if not exist “%programfiles%\1Cv77” goto END ELSE goto START
if “%allusersprofile%”==”C:\ProgramData” goto Vista
if “%allusersprofile%”==”C:\Documents and Settings\All Users” goto WINXP
rem *** Windows XP ***
net use n: /delete
net use n: /persistent:no \\\
xcopy n:\sqlsrv32.* %windir%\system32\
rem xcopy n:\odbcbcp.dll %windir%\system32\
xcopy n:\1cv7s.exe “%programfiles%\1Cv77\BIN\” /y
xcopy n:\BkEnd.dll “%programfiles%\1Cv77\BIN\” /y
%systemroot%\regedit /s n:\1c.reg
net use n: /delete
rem *** Windows Vista & Windows Seven ***
takeown /F %windir%\system32\sqlsrv32.dll /A
takeown /F %windir%\system32\sqlsrv32.rll /A
takeown /F %windir%\system32\odbcbcp.dll /A
net use n: /delete
net use n: /persistent:no \\\
xcopy n:\sqlsrv32.* %windir%\system32\ /y
rem xcopy n:\odbcbcp.dll %windir%\system32\ /y
xcopy n:\1cv7s.exe “%programfiles%\1Cv77\BIN\” /y
xcopy n:\BkEnd.dll “%programfiles%\1Cv77\BIN\” /y
%systemroot%\regedit /s n:\1c.reg
net use n: /delete
goto END
Примечание: Файл 1С.reg содержит информацию о путях к базам данных.
Для того, чтобы не было проблем с правами у пользователей 1С воспользовался Restricted Group в GPO, группе пользоватей 1С дал права локального администратора на время внесения изменений
p.s. все вышеописанное поможет вам избежать основных проблем, которые вощникают при установке 1С. Разнообразных описаний решения возникающих проблем достаточно много в сети Интернет
Заставляем работать 1С версии 7.7 на Windows Server 2008 R2 64bit
На терминальном сервере под управлением Microsoft Windows Server 2008 R2 Standard x64 Edition Service Pack 1 возникла необходимость заставить работать клиента “1С:Предприятие” версии 7.7. Как я уже писал ранее, несмотря на то, что само приложение является 32-битным, запустить на 64-битной ОС ее все-таки возможно. Но в процессе такого запуска клиента 1С сетевой версии 7.7 (для SQL ) на указанной выше ОС все же возникли некоторые трудности… |
Все описанное ниже будет справедливо как для операционных систем Microsoft Windows 7 (32 и 64 битных), так и для Microsoft Windows 2008 (R2) (32 и 64 битных), не говоря уже про Vista.
Для начала, нам необходима штатно установленная на 32-х битной системе Microsoft Windows XP или Microsoft Windows 2003 Server, программа 1С сетевой версии 7.7 (у меня наличествует 27 релиз для работы с MS SQL ). Копируем с такой системы папку целиком с установленной программой по пути C:\Program Files\1Cv77 в каталог серверной ОС по пути C:\Program Files (x86) .
Теперь необходимо добавить файл 1cv7s.exe в исключение “Предотвращения выполнения данных ( DEP )”. Для этого нажимаем правой кнопкой мыши по иконке Компьютер -> Свойства, вызываем “Дополнительные параметры системы”:
В открывшемся окне “Свойства системы” на вкладке “Дополнительно” в поле “Быстродействие” нажимаем на кнопку “Параметры…”:
В открывшемся окне “Параметры быстродействия” на вкладке “Предотвращение выполнения данных” ставим отметку в кружке “Включить DEP для всех программ и служб, кроме указанных ниже:” и нажимаем на кнопку “Добавить…”:
Выбираем файл 1cv7s.exe по пути C:\Program Files (x86)\1Cv77\BIN и нажимаем на кнопку “Открыть”:
Убеждаемся, что в поле появилась запись “1С:V7 starter program (for SQL )” и нажимаем кнопку “ОК”:
Теперь у вас существует возможность запустить “1С:Предприятие” (из-за того, что установка (как таковая) не производилась, вы не увидите сведений о Пользователе/Организации лицензиате):
Некоторое отступление: в моем случае, для того чтобы программа однозначно нашла в сети лицензионные ключи для запуска, мне пришлось прописать в файле nethasp.ini по пути C:\Program Files (x86)\1Cv77\BIN вручную IP их местонахождения, внеся в него следующие строки (без точки с запятой перед ними!):
Однако из-за того, что с момента написания программы стандартные драйвера для SQL , включенные в операционные системы от Microsoft изменились, программа не запустится из-за ошибки:
В сети предлагают заменить версии файлов современных ОС odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll, расположенных по пути C:\Windows\System32 , на одноименные файлы предыдущих версий, взятых из Windows XP или 2003 Server. Однако, никто не гарантирует, что подобное изменение системных файлов не повлечет за собой каких-либо проблем для самой ОС.
Существует еще один способ, чтобы обойти данную ошибку. Для этого необходимо в файл библиотеку bkend.dll приложения 1Cv7 внести некоторые изменения:
- для 27 релиза – 000D9B66: E9 46 00 00 00 90 90 90
- для 25 релиза – 000D9AE6: E9 46 00 00 00 90 90 90
Для тех кто не знает, каким образом внести данные изменения, предлагаю скачать исправленную библиотеку bkend.dll для 1С версии 7.7 27 релиза у меня: скачать.
Теперь обязательно переименуйте существующую у вас библиотеку bkend.dll по пути C:\Program Files (x86)\1Cv77\BIN в bkend.dll.bak и поместите измененный (или скачанный у меня) файл bkend.dll в этот каталог:
Но и этого для корректной работы программы “1С:Предприятие” оказалось недостаточно! При попытке ее запуска выскочила новая ошибка:
Чтобы обойти эту ошибку, необходимо в папке с программой запуска по пути C:\Program Files (x86)\1Cv77\BIN создать пустой файл ordnochk.prm:
Будьте внимательны: файл должен иметь расширение .prm, а не .prm.txt!
И вот только после этого программа “1С;Предприятие” сетевой версии 7.7 для SQL заработала правильно!
_________________
Первоначально решение проблемы нашел тут и тут.
Официально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL Server 2008 R2. Ниже представлена пошаговая настройка связки 1С:Предприятие 7.7 + MS SQL Server 2008 R2 + Microsoft Windows Server 2008 R2 (Справедливо и для других операционных систем семейства Windows). Итак:
0. Оглавление
1. Установка Windows Server 2008 R2
В качестве серверной ОС используем Microsoft Windows Server 2008 R2. Об установке этой системы подробно можно прочитать в статье «Установка Windows Server 2008 R2».
2. Установка SQL Server 2008 R2
Далее устанавливаем Microsoft SQL Server 2008 R2. Во время установки выбираем:
- Параметры сортировки — «Cyrilic_General_CI_AS»
- Режим проверки подлинности — «Смешанный режим»
Очень подробно об установке SQL Server я писал в статье «Установка Microsoft SQL Server 2008 R2».
3. Создание новой базы данных в SQL Server 2008 R2
Добавляем нового пользователя в SQL Server 2008 R2. Обязательно даем ему роль processadmin, иначе будем натыкаться на ошибку:
«Доступ к базе возможен только из одного каталога информационной базы»
Затем создаем новую базу данных, указав:
- Имя базы данных не должно начинаться с цифры или иметь пробелы в названии, иначе получим ошибку:
«неправильный синтаксис около конструкции %имя базы данных%» - В качестве владельца указываем только что созданного пользователя (В моем случае имя пользователя — «UserSQL» )
- Модель восстановления базы данных: «Простая» (1С:Предприятие 7.7 прекрасно работает и при полной модели восстановления. Но в этом случае, вы должны хорошо понимать все плюсы и минусы данного решения).
- Уровень совместимости: «SQL Server 2000 (80)» .
4. Настройка Windows Server 2008 R2
Теперь необходимо заменить оригинальные фалы odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll (скачать все файлы одним архивом) в каталогах C:\Windows\System32 и в C:\Windows\SysWOW64 файлами из каталога C:\Windows\System32 под управлением Windows Server 2003 (в архиве).
Чтобы сделать это необходимо стать владельцем этих файлов и получить права на их редактирование . Для этого заходим в C:\Windows\System32 находим файл odbcbcp.dll, кликаем по нему правой кнопкой, выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность», нажимаем «Дополнительно».
В появившемся окне переходим на вкладку «Владелец» , нажимаем «Изменить» , выбираем текущего пользователя и жмем 2 раза «ОК» .
Затем на вкладе «Безопасность» нажимаем «Изменить» и для текущего пользователя выставляем уровень безопасности «Полный доступ» . Закрываем окна кнопкой «ОК» .
Только после этого система даст нам заменить файл odbcbcp.dll.
Аналогичные действия необходимо выполнить и для всех остальных файлов в папках C:\Windows\System32 и C:\Windows\SysWOW64.
Если этого не сделать, при запуске 1С:Предприятие будем натыкаться на ошибку:
«Ошибка для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше»
5. Установка 1С:Предприятие 7.7
Теперь необходимо установить 1С:Предприятие 7.7, ставим версию для SQL. Об особенностях установки читайте в статье «Установка системы 1С:Предприятие 7.7 в Windows x64».
6. Патч и замена файла BkEnd.dll
Теперь необходимо заменить файл BkEnd.dll из оригинальной поставки 1С:Предприятие 7.7, находящего по пути C:\Program Files (x86)\1Cv77\BIN, «пропатченным» файлом BkEnd.dll. Вы можете использовать мой файл, или сделать изменения самостоятельно. О том как и что необходимо в нем изменить читайте в моей статье «Работа в Hex-редакторе Free Hex Editor Neo, на примере патча файла BkEnd.dll для работы 1С:Предприятие 7.7 с Microsoft SQL Server 2008 R2».
Замену файла делаем для того, чтобы избавиться от ошибок:
- «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!»
- «Порядок сортировки, установленный для базы, отличается от системного!»
- «Неправильный синтаксис около ключевого слова «TRANSACTION»
- «База данных не может быть открыта в однопользовательском режиме»
7. Создание представления sksprocesses в MS SQL Server
Продолжаем исправлять ошибку «База данных не может быть открыта в однопользовательском режиме». Для этого создадим представление в базе данных (источник).
Заходим в программу «Среда Microsoft SQL Server Management Studio» («Пуск» — «Все программы» — «Microsoft SQL Server 2008 R2» — «Среда Microsoft SQL Server Management Studio» ), выбираем наш SQL Server (в моем примере это «S4\ULTRA»), раскрываем вкладку «Базы данных» , затем «Системные базы данных» и вкладку «master» . На вкладке «Представления» кликаем правой кнопкой мыши и в меню выбираем «Создать представление» .
Откроется окно «Добавление таблицы» , закроем его нажав «Закрыть» .
Теперь в окне слева напишем текст представления:
Затем, нажимаем «Выполнить код SQL» (Иконка с красным восклицательным знаком на панели)
После того, как код изменится, сохраним представление, назвав его sksprocesses.
В результате чего в обозревателе объектов увидим только что созданное представление dbo.sksprocesses. Кликаем по нему правой кнопкой мыши и выбираем «Свойства» .
Откроется окно «Свойства представления» , в нем переходим на вкладку «Разрешения» и добавим пользователя guest. Для этого нажимаем «Найти» в окне добавления пользователей «Обзор» , отмечаем в списке пользователя guest и жмем «ОК» .
Теперь отмечаем разрешения для guest:
- Вставка
- Выборка
- Изменение
- Назначение владельцем
- Обновление
- Просмотр определения
После чего нажимаем «ОК» .
На этом создание представления завершено.
8. Добавление информационной базы в 1С:Предприятие 7.7
Теперь, запустим 1С:Предприятие в режиме конфигуратора и добавим новую базу, для этого нажимаем «Добавить» задаем имя базы данных и указываем путь к каталогу в котором будет храниться наша база (изначально должен быть пустым) и нажимаем «ОК» .
Заходим в добавленную только что базу данных в режиме конфигуратора. При первом запуске система попросит выбрать формат хранения данных. Выбираем «MS SQL Server» и нажимаем «ОК» .
В запустившемся конфигураторе заходим в «Администрирование» — «Параметры базы данных SQL…» .
Откроется окно «Параметры базы данных SQL«, в нем заполняем:
- Имя сервера в формате: Сетевое имя компьютера>\Имя экземпляра SQL Server>. (в моем случае это «S4\ULTRA» )
- База данных: Имя базы данных, которое было введено при создании новой базы данных в п. 2. (в моем случае это «BASE_1C» )
- Пользователь: Имя пользователя, которое было введено при создании нового пользователя в п. 2. (у меня это «UserSQL» )
- Пароль: Пароль, который указывали для пользователя при создании в п. 2.
Если нам нужна новая, т. е. «чистая» база, то уже можно начинать работать. Если же необходимо перенести уже существующую базу данных, то необходимо предварительно выгрузить из нее данные (войти в 1С:Предприятие в режиме конфигуратора, «Администрирование» — «Выгрузить данные» ) а затем загрузить в нашу, только что созданную базу на SQL («Администрирование» — «Загрузить данные» — выбрать файл выгрузки — «ОК» и согласиться с предупреждением о конфликте данных) .
После этого этапа уже можно работать в 1С под текущим пользователем Windows.
9. Настройка безопасности для всех пользователей
Если подразумевается, что данный сервер является также Сервером терминалов, на котором будут работать несколько пользователей, то необходимо для директорий, где хранятся базы данных 1С (в моем случае это «C:\1C_BASE») дать всем пользователям права на чтение/запись. Для этого в проводнике выделяем нужную папку, кликаем по ней правой кнопкой мыши и в меню выбираем «Свойства«. В открывшемся окне переходим на вкладку «Безопасность» и нажимаем кнопку «Изменить» . В окне «Разрешения для группы…» для группы «Все» установим «Полный доступ» . Закроем все окна кнопкой «ОК» .
Смотрите также:
В данной статье я подробно опишу процесс установки Microsoft SQL Server 2008 R2 в Windows Server 2008 R2 (для других ОС семейства Windows процесс аналогичен). Во время установки будут выбраны…
Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…
Если к службе Microsoft SQL Server должны подключаться программы с других компьютеров в сети, то необходимо чтобы правильным образом был настроен Брандмауэр Windows на сервере, где запущена служба. А именно разрешены…
Запись опубликована в рубрике 1С 7 с метками 1Сv7, SQL, Windows Server 2008. Добавьте в закладки постоянную ссылку.
В данной статье будет рассказано о работе в бесплатном 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», кликаю два раза по нужной ячейке и забиваю новое значение.
Действуя аналогично, я вношу следующие изменения:
- Для исправления ошибки «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!» изменяем поля:
по смещению 000d9cca значение 83 меняем на eb
по смещению 000d9ccb значение e8 меняем на 15
по смещению 000db130 значение 83 меняем на eb
по смещению 000db131 значение e8 меняем на 10 - Для исправления ошибки «Порядок сортировки, установленный для базы, отличается от системного!»:
по смещению 0018a79d значение 75 меняем на eb - Для исправления ошибки «Неправильный синтаксис около ключевого слова «TRANSACTION»
Фразу DUMP TRANSACTION %s WITH TRUNCATE_ONLY , которая находится по смещению 002856B0 заменяем на фразу ALTER DATABASE %s SET RECOVERY SIMPLE - Для исправления ошибки «База данных не может быть открыта в однопользовательском режиме», изменяем поля:
по смещению 0028549c значение 64 меняем на 6b
по смещению 0028549d значение 62 меняем на 70
После того, как все изменения сделаны, сохраним файл, нажав «File» — «Save» .
Смотрите также:
В данном вебинаре я расскажу о применяемых в нашей компании правилах и приемах доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления. В видео использованы материалы…
Официально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL…
Небольшая зарисовка на тему, какие были бы сливные трубы, если бы их делали 1С-ники.
Запись опубликована в рубрике 1С 7, Софт сисадмину с метками 1Сv7, SQL, Бесплатно, Софт. Добавьте в закладки постоянную ссылку.
Facebook Если у вас не работает этот способ авторизации, сконвертируйте свой аккаунт по ссылке ВКонтакте Google RAMBLER&Co ID
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
патча файла BkEnd.dll для работы 1С:Предприятие 7.7 с Microsoft SQL Server 2008
В данной статье будет рассказано о работе в бесплатном hex-редакторе Free Hex Editor Neo, на примере правки файла BkEnd.dll из поставки 1С:Предприятие 7.7 для корректной работы этой системы с Microsoft SQL Server 2008 R2.
0. Немного о hex-редакторах и файлах.
Как известно, любой файл, хранясь на жестком диске компьютера, представляет собой последовательность машинных слов — байтов. Байт, в свою очередь, состоит из 8 битов, каждый из которых может принимать значение «0» или «1» , а это означает, что один байт может принимать 2 8 =256 значений в диапазоне от 0 до 255. Число 25610, записанное в шестнадцатеричной системе, является круглым трёхзначным числом — 10016, т. е. для представления любого числа из диапазона 0—255 потребуется не более 2 разрядов. А это значит, что значение каждого байта очень удобно записать двузначным числом в шестнадцатеричной системе счисления.
Hex-редактор (англ. hex-editor) показывает нам файл, так, как его «видит» машина, а именно, последовательностью байтов. Например, открыв файл в редакторе, мы увидим матрицу, состоящую из 16 колонок и числа строк зависящего от размера файла. Каждое значение матрицы соответствует одному байту, записанному двузначным шестнадцатеричным числом. Изменяя значение нужного байта, мы можем, соответственно, изменить сам файл.
Кроме того, рядом с таблицей можем увидеть:
- Слева от матрицы отображается линейка из чисел: каждой строчке соответствует число, означающее адрес/смещение первого байта этой строчки. Шаг адресов при этом равен количеству колонок.
- Сверху от матрицы отображается другая линейка: над каждой колонкой отображается смещение байта, стоящего в этой колонке, относительно первого байта соответствующей строчки. Сумма числа, соответствующего i -той строке, и числа, соответствующего j -той колонке является адресом/смещением байта (i;j) , стоящего на пересечении взятой строки и взятого столбца.
- Справа от матрицы отображаются те же данные, но в другой интерпретации. Чаще всего используется альтернативное отображение данных как текста в кодировке ASCII , при этом байты, значения которых соответствуют непечатным символам, отображаются как точки ( · ). Редактировать значения можно и в этой области.
Подробнее о Hex-редакторах можно прочитать здесь.
1. Установка Free Hex Editor Neo.
Скачиваем Free Hex Editor Neo с официального сайта. Программа бесплатна, на момент написания статьи последней была версия 5.14. Устанавливаем, следуя инструкциям инсталлятора, не меняя настроек по умолчанию. При первом запуске программа предложит выбрать режим интерфейса. Выбираем «Novice user» , этого более чем достаточно.
2. Работа с файлом.
Например, мне нужно в байт со смещением 000d9cca записать значение eb. Для этого я нахожу строку »000d9cco» и столбец «0a», кликаю два раза по нужной ячейке и забиваю новое значение.
Действуя аналогично, я вношу следующие изменения:
- Для исправления ошибки «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!» изменяем поля:
по смещению 000d9cca значение 83 меняем на eb
по смещению 000d9ccb значение e8 меняем на 15
по смещению 000db130 значение 83 меняем на eb
по смещению 000db131 значение e8 меняем на 10 - Для исправления ошибки «Порядок сортировки, установленный для базы, отличается от системного!»:
по смещению 0018a79d значение 75 меняем на eb - Для исправления ошибки «Неправильный синтаксис около ключевого слова «TRANSACTION»
Фразу DUMP TRANSACTION %s WITH TRUNCATE_ONLY , которая находится по смещению 002856B0 заменяем на фразу ALTER DATABASE %s SET RECOVERY SIMPLE - Для исправления ошибки «База данных не может быть открыта в однопользовательском режиме», изменяем поля:
по смещению 0028549c значение 64 меняем на 6b
по смещению 0028549d значение 62 меняем на 70
После того, как все изменения сделаны, сохраним файл, нажав «File» — «Save» .
Читайте также: