Как я могу указать записи REG_EXPAND_SZ в файле .REG?
9
Я пытаюсь использовать пакетный скрипт и .regфайл для настройки некоторых пользовательских сервисов. Большинство ключей настраиваются правильно, но мне нужно установить DependOnServiceключ для некоторых служб, который обычно является многострочным. Можно ли установить этот ключ из .regфайла, или потребуется ввод вручную?
REG_MULTI_SZданные в .regфайлах должны быть закодированы в шестнадцатеричном формате. Если содержимое никогда не изменяется, вы можете создать в своем реестре фиктивный элемент с данными, экспортировать его и настроить его в соответствии со своими потребностями.
Если это действительно изменится, вероятно, будет гораздо проще использовать regпрограмму, включенную в Windows, чтобы добавить его. Для этого позвоните regв этом формате:
Сепараторный переключатель не является обязательным. Если не используется, записываемые строки должны быть разделены escape-последовательностью для нулевого символа ( \0). Например, чтобы добавить элемент с именем Flairк HKLM\SOFTWARE\WhizBang\Excite-O-Ramaструнам foo, barи bazвы бы работать:
Отличный ответ (используя .batфайл с regкомандой вместо .regфайла), но почему это говорит о REG_MULTI_SZ, когда вопрос касается REG_EXPAND_SZ?
Norswap
0
dword: знак равно DWORD
hex(2): = Расширяемая строка
hex(7): = Multi-String
A DWORDпредставляет собой 32-разрядное целое число без знака (десятичный диапазон: 0- 4294967295), и в реестре DWORDвсегда начинается с 0xи имеет 8 цифр, которые следуют 0x. Это может быть в десятичном или шестнадцатеричном формате; например, 1000можно записать как 0x00001000или 0x000003e8.
DWORDSможно использовать только цифры 0- 9. Любые строки всегда используют ASCII, а в ACSII 1000могут быть записаны только как 31,30,30,30. Для типа данных String ASCII работает в фоновом режиме, даже если вы не знаете, потому что компьютер понимает только 1 и 0.
Для типов данных Expandable-String и Multi-String они сохраняют ваши записи в виде серии кодов ASCII в шестнадцатеричном формате, разделенных запятыми и шестнадцатеричными нулями; поэтому расширяемая строка 1000будетhex(2):31,00,30,00,30,00,30,00
Скопируйте / вставьте этот результат в текстовый редактор: переместите первый %в конец, найдите / замените все %на ,00,и удалите запятую в самом конце строки. Вы должны получить:
Ссылка на hotfile - это просто архив 7z с html-страницей (которая содержит конвертер), хранящейся внутри. Почему бы просто не дать ссылку на саму веб-страницу?
Джон Бенсин
1
Чтобы избежать гниения ссылок, пожалуйста, разместите всю соответствующую информацию в своем ответе. для получения дополнительной информации о том, как ответить на вопросы, см. Как ответить
.bat
файл сreg
командой вместо.reg
файла), но почему это говорит о REG_MULTI_SZ, когда вопрос касается REG_EXPAND_SZ?dword:
знак равноDWORD
hex(2):
= Расширяемая строкаhex(7):
= Multi-StringA
DWORD
представляет собой 32-разрядное целое число без знака (десятичный диапазон:0
-4294967295
), и в реестреDWORD
всегда начинается с0x
и имеет 8 цифр, которые следуют0x
. Это может быть в десятичном или шестнадцатеричном формате; например,1000
можно записать как0x00001000
или0x000003e8
.DWORDS
можно использовать только цифры0
-9
. Любые строки всегда используют ASCII, а в ACSII1000
могут быть записаны только как31,30,30,30
. Для типа данных String ASCII работает в фоновом режиме, даже если вы не знаете, потому что компьютер понимает только 1 и 0.Для типов данных Expandable-String и Multi-String они сохраняют ваши записи в виде серии кодов ASCII в шестнадцатеричном формате, разделенных запятыми и шестнадцатеричными нулями; поэтому расширяемая строка
1000
будетhex(2):31,00,30,00,30,00,30,00
Давайте преобразуем
%PROGRAMFILES%
в Expandable-String:%PROGRAMFILES%
введите текстовое поле, определяемый пользователем разделитель вывода:,%
выберите Преобразовать, и он даст вам:%
в конец, найдите / замените все%
на,00,
и удалите запятую в самом конце строки. Вы должны получить:Этот урок содержит все знания, необходимые для обратного инжиниринга любой шестнадцатеричной записи реестра, которая не зашифрована.
источник