Linux下读取Windows注册表

系统 Linux
原以为Linux下读取Windows的注册表是个异想天开、无法实现的想法,但这篇文章的作者就把他给实现了。想知道作者是如何实现的?那就继续往下读吧!

原以为Linux下读取Windows注册表是个异想天开、无法实现的想法,但这篇文章的作者就把他给实现了。想知道作者是如何实现的?那就继续往下读吧!

为了在linux下能够解读注册表文件,需要几个小工具:首先是一个Pascal语言写的dumphive,负责将windows注册表文件转换为文本格式;另外还需要Win32-Registry-File-1.10,这是一个用perl语言写的,分析、读取注册表的工具,同时Win32-Registry-File-1.10还依赖另外一个perl工具Tie-IxHash-1.22。

dumphive的下载地址为http://gitorious.com/canaima-gnu-linux/dumphive/commits/upstream

Win32-Registry-File-1.10下载地址为http://search.cpan.org/~avatar/Win32-Registry-File-1.10/File.pm

Tie-IxHash-1.22下载地址为http://search.cpan.org/~chorny/Tie-IxHash-1.22/lib/Tie/IxHash.pm。

在正式开始工作前,先要将工具软件安装好,首先解压缩dumphive包,由于它是由Pascal语言写出的,所以要下载free Pascal的编译器,在Ubuntu下,用apt-get install fpc即可,然后进入src目录下,直接make就可以获得dumphive可执行程序了。再安装Win32-Registry-File-1.10和Tie-IxHash-1.22,这两个perl程序的安装方法类似,先解压,在运行perl MakeFile.pl 生成makfile,再运行make,最后make install

真正的工作就可以开始了

1. 首先将windows所在分区挂载到/mnt/目录上,(如果挂载不了,需要下载并安装ntfsprogs)

2. cp /mnt/WINDOWS/system32/config/SYSTEM /tmp/system 将注册表文件拷贝到tmp目录下

3. dumphive /tmp/system /tmp/system.reg 将注册表文件转换为文本格式

4. 再编写一个test.pl脚本 ,比如:

use Win32::Registry::File;
$reg = new Win32::Registry::File();
$reg->open('system.reg');
use Data::Dumper;
print Dumper($reg->get(['system\ControlSet001\Control']));

然后perl test.pl就可以看的ControlSet001\Control下的结构了。注意这里的get后的参数中的system,跟第2步时生成的文件名有关,如果将windows下的注册表文件拷贝成aaa,再用dumphive去转换,则生成的注册表文本文件都是以aaa开头的。当执行用cat system.reg,后就可以明显的看出来。

另外Win7跟xp的注册表文件,在linux下解读出来还是有很大差异的,每一个字段前都有一个类似UUID的值。

【编辑推荐】

  1. Windows 8 M1注册表功能展示
  2. 注册表让服务器远程访问更安全
  3. 四招教你打造轻型Linux桌面环境
  4. Linux十大妙用:充当Windows修复工具
  5. 如何巧妙利用系统注册表 防止病毒复活

 

责任编辑:冯宇 来源: Linux社区
相关推荐

2011-08-03 18:01:40

注册表

2009-07-03 13:12:59

Windows CE

2017-08-09 16:24:46

2011-08-04 16:37:09

注册表编辑器注册表

2009-08-19 13:25:53

C#操作注册表

2009-02-18 08:42:40

手动备份注册表

2010-03-29 09:46:29

Windows 7关机加速

2009-07-07 12:09:04

注册表开发.NET Compac

2011-06-28 10:11:05

Qt Qt 4.1.0 注册表

2011-06-03 10:34:32

2009-05-28 14:11:05

Windows Emb

2010-04-21 14:33:05

Windows注册表

2011-09-15 10:36:49

注册表windows7系统盘

2009-07-16 15:13:17

Windows Emb

2018-11-02 09:15:11

WindowsWindows 10注册表

2011-06-03 10:34:22

arpWindows 200

2011-09-16 14:22:31

注册表windowsVist

2009-08-21 09:43:49

C#编辑注册表

2023-06-29 07:45:07

注册表Windows系统

2011-08-04 16:04:09

注册表
点赞
收藏

51CTO技术栈公众号