Linux下讀取windows註冊表

來源:互聯網
上載者:User

    原本以為Linux下讀取Windows的註冊表是個異想天開、無法實現的想法,忽然發現了老外寫的一段小文章 http://xtor.warp.es/?p=25,才知道原來早就有人做過了。

    為了在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的值。

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.