The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Монтирование Windows-реестра в Linux
В рамках проекта HIVEXFS подготовлен FUSE-модуль для монтирования реестра
Windows к любому каталогу и дальнейшей работы с реестром как с древовидной ФС.
На данный момент HIVEXFS уже используется в Dr.Web LiveCD, на котором
найденные реестры монтируются посредством autofs в каталог /reg.

Каталоги соответствуют разделам реестра, файлы - параметрам, 
содержимое файла - значению соответствующего параметра.  
Параметр по умолчанию обозначается файлом "@", 
тип параметра определяется через расширенные атрибуты файла. Значения
параметров, имеющие типы REG_SZ, REG_EXPAND_SZ, REG_LINK REG_DWORD или
REG_QWORD, автоматически конвертируется в текст (UTF-8) и обратно.

Для монтирования реестра используется утилита hivexfs. 
В качестве первого аргумента указывается точка 
монтирования windows-диска, второй аргумент - пустой каталог:

   sudo hivexfs /mnt/windows /mnt/registry

Примеры использования:

Создадим параметр NEW_VALUE типа REG_SZ: 

   echo qwerty > NEW_VALUE 

Посмотрим реальное содержимое: 

   attr -qg value NEW_VALUE |hexdump -C

   00000000  71 00 77 00 65 00 72 00  74 00 79 00 0a 00 00 00  |q.w.e.r.t.y.....|

Как видим это строка в кодировке UTF-16LE, в конце завершается двумя нулями.

Преобразуем в тип REG_DWORD: 

   # attr -s type -V reg_dword NEW_VALUE 

   attr_set: Недопустимый аргумент
   Could not set "type" for NEW_VALUE 

Выдана ошибка, так как строка в число не переводится, попробуем снова:

   # echo 12345 > NEW_VALUE 

   Attribute "type" set to a 9 byte value for NEW_VALUE : reg_dword

   # attr -g type NEW_VALUE

   Attribute "type" had a 9 byte value for NEW_VALUE : REG_DWORD

   # attr -g size  NEW_VALUE

   Attribute "size" had a 1 byte value for NEW_VALUE : 4

   # cat NEW_VALUE
   12345


Поддерживаемые операции:

Посмотреть доступный список типов параметра 

   attr -l [value]
 
Посмотреть тип параметра можно командой: 

   getfattr -n user.type [value]
или
   attr -g type [value]

Реальный размер параметра: 

   getfattr -n user.size [value] 
или 
   attr -g size [value]

Реальное побайтное содержимое параметра:
 
   getfattr --only-values -n user.value [value] 
или 
   attr -qg value [value]

копировать лучше командой ln (link), тогда копируются все атрибуты параметра.
Команда cp использует вызовы read и write,  которые строковые и числовые ключи
перекодируют на лету, в UTF-8 и обратно.  Так что cp - это весьма накладно + он
ни чего не знает о типе параметра. Рекурсивно скопировать раздел можно командой
cp -Rl [path1] [path2]

По умолчанию создается тип REG_SZ, если параметр модифицируется, то его тип не
меняется. Сменить тип параметра можно командой:

    setfattr -n user.type -v [new_type] [value] 
или 
    attr -s type -V [new_type] [value]
    
Модификация типа возможна для параметров: REG_SZ, REG_EXPAND_SZ, REG_LINK,
REG_BINARY, REG_DWORD, REG_QWORD. В случае невозможности модификации типа
возвращается ошибка.

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

Есть ограничение: не возможно создать раздел или параметр с именем содержащим
национальныхе символы.
 
  
 
17.01.2013 , Автор: Сергей Трубин , Источник: https://github.com/strubin/hivexfs...
Раздел:    Корень / Пользователю / Wine

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Ващенаглухо (ok), 12:53, 17/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    интересная штука
     
  • 1.2, Аноним (-), 15:33, 17/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    1) Смонтировать виндореестр
    2) Скопировать туда Avatar 3D FullHD Directors Cut
    3) ....
    4) Profit!
     
     
  • 2.4, XoRe (ok), 16:34, 17/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > 1) Смонтировать виндореестр
    > 2) Скопировать туда Avatar 3D FullHD Directors Cut
    > 3) ....
    > 4) Profit!

    rm -rf убьет не менее более

     
     
  • 3.5, mihalych (ok), 19:57, 17/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Можно собственно развлекаться как угодно :) да.
     
  • 2.11, Аноним (-), 17:23, 21/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ты сделал мой день
     
     
  • 3.17, dRiZd (?), 09:19, 26/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А если загрузиться с любого внешнего носителя (не целевого), то можно вообще любой Linux расколбасить - даже права не помогут.
    Только не кричите про шифрование - у windows тоже есть шифрование!
    Так, что радоваться нечему: любой дурак в offline с любой системой может сделать все, что захочет, а вот пусть он это сделает в online ...
     
     
  • 4.18, Michael Shigorin (ok), 13:03, 26/02/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Только не кричите про шифрование - у windows тоже есть шифрование!

    А xfs на запись у windows есть? :)

     

  • 1.6, dickest (?), 09:18, 18/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    куда делся репозитарий?
     
  • 1.7, Dmr (??), 09:13, 19/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В "Kaspersky Rescue Disk" тоже есть доступ к реестру Windows.
     
     
  • 2.9, mavriq_ (?), 15:44, 19/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    chntpw - тоже сто лет в обед
    но этот инструмент гораздо удобнее, имхо
     

  • 1.8, mavriq_ (?), 15:40, 19/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    про acl-ы ни слова, видать пока не реализовано
     
  • 1.10, rtutr (?), 14:12, 21/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сваять мааленький линукс вирус, который до загрузки венды будет ставить блокиратор. "Ваша система звблокирована, поставьте линукс или отправьте смс"
     
  • 1.12, Hedgehog (??), 17:30, 21/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ээ, а где репозиторий? По ссылке ничего нет, поиск по GitHub'у ничего не дал.
     
  • 1.13, Слакварявод (?), 17:53, 22/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    404! гитхаб жеж. и не в китае я. вроде как.
     
  • 1.14, Анонимоус (?), 16:42, 31/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Видимо, Данилов велел немедленно прекратить разбазаривание наработок...
     
  • 1.15, Dmr (??), 08:11, 05/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати - у Данилова больно уж урезанный функционал - позволяет только лечить реестр. А так чтобы подредактировать реестр - низя.
     
  • 1.16, Dmr (??), 14:14, 17/02/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зато у Касперского нормальный доступ, можно кусты выгружать и тем самым восстанавливать пароль системы.
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:
     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 24.03.2024 Полезные пакеты, которые следует установить на сервер для диагностики сбоев
    - 29.12.2023 Диагональное размещение информации на экране
    - 25.12.2023 Автоматизация установки Samba AD+DDNS+DHCPD и почтового сервера в openSUSE Leap 15.5
    - 24.12.2023 Проброс доступа к SSH через HTTPS
    - 20.12.2023 Использование SSH поверх UNIX-сокета вместо sudo
    - 08.12.2023 Проксирование запросов к S3 с помощью nginx и angie
    - 29.11.2023 Cкрипт ddrescue-loop с функцией автоматической остановки/перезапуска диска на SATA порту
    - 23.11.2023 Устранение ошибки redirection unexpected в bash-скриптах
    - 21.10.2023 Защита от подмены серверных TLS-сертификатов в результате MITM-атаки провайдером
    - 15.10.2023 Уменьшение жёстко определённого размера окна приложения в формате AppImage
    RSS | Следующие 15 записей >>




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру