古詩詞大全網 - 成語查詢 - 壹步壹步教妳用JS和INF編輯註冊表

壹步壹步教妳用JS和INF編輯註冊表

 JScript小知識 JScript是壹種解釋型的 基於對象的腳本語言 盡管與C++這樣成熟的面向對象的語言相比 JScript的功能要弱壹些 但對於它的預期用途而言 JScript的功能已經足夠大了 JScript程序是語句的集合 壹條Jscript語句相當於英語中的壹個完整句 Jscript語句將表達式組合起來 完成壹個任務 壹條語句由壹個或多個表達式 關鍵字或者運算符(符號)組成 典型地 壹條語句寫壹行 盡管壹條語句可以超過兩行或更多行 兩條或更多條語句也可以寫在同壹行上 語句之間用分號 ; 隔開 通常 每壹新行開始壹條新語句 分號(;)是JScript語句的終止字符

 壹 用JS編輯註冊表

 事實上 JS的主體和VBS文件差不多 就是結構有壹點不同而已!所以我們就不多說了 下面是個用JS編輯註冊表的簡單例子

 var WSHShell=WScript CreateObject( WScript Shell );WSHShell Popup ( 這是壹個用JS編輯註冊表的例子By yjj );WSHShell RegWrite( HKLM\Example_JS String Key_JS );WSHShell RegWrite( HKLM\Example_JS Reginfo By yjj );WSHShell RegWrite( HKLM\Example_JS\Value String Key For JS );WSHShell RegWrite( HKLM\Example_JS\Binary REG_BINARY );WSHShell RegWrite( HKLM\Example_JS\Dword REG_DWORD );WSHShell RegWrite( HKLM\Example_JS\Next NewData );WSHShell Run( Regedit );

 上面這些代碼中第壹句是定義對象 第二句用來顯示壹條信息 後面幾行寫註冊表 最後壹行運行註冊表編輯器 大家可以看出用JS對鍵值進行操作時要用兩斜杠 \ 並且要用 ; 表示結束 壹般只要能註意這兩點 就沒有問題了

 再來看壹個用JS編輯註冊表的例子 大家知道 瀏覽某些惡意網頁會把我們的註冊表給禁用了 由於無法導入註冊表文件 造成我們沒有辦法使用註冊表編輯器 把下面的代碼存為以js為後綴名的任意文件 然後雙擊就可以將其導入註冊表中 從而給註冊表解鎖

 VAR WSHShell=WSCRIPT CREATOBJEt( WSCRIPT SHELL ); WSHShell Popup( 這是壹個用JS編輯註冊表的例子By YJJ ); //下面的例子要在註冊表中建立壹個Dword值 名為DisableRegistryTools 值為 註意要說明值的類型! WSHShell RegWrite( HKCU\Sofare\Microsoft\Windows\CurrentVersion\Policies\system\DisableRegistryTools reg_dword );

 試試看 是不是很神奇啊?以上說的都是添加鍵值 如果要刪除某些鍵值該怎麽辦呢?很簡單 將 WSHShell RegWrite 改成 WSHShell RegDelete 就可以了

 註意 JScript不是其他語言的精簡版 也不是任何事物的簡化 不過 它有其局限性 例如 您不能使用該語言來編寫獨立運行的應用程序 並且沒有對讀寫文件的內置支持 此外 JScript腳本只能在某個解釋器或 宿主 上運行 如ASP Internet瀏覽器或者Windows腳本宿主

 二 用INF文件編輯註冊表

 INF小知識 INF是用於安裝驅動程序的文件 它是文本格式的 記錄著驅動程序的所有相關資料 隨便打開壹個INF文件可以看到許多項 每壹項都有特定的含義 比如從 Version 壹項就可以看出支持的Windows版本是什麽 Win X系列的代號就是CHICAGO Win /XP的代號就是Windows NT

 讓我們來舉個例子 首先打開記事本 然後在裏面輸入下面內容 然後保存為addreg inf

 [Version]Signature= $CHICAGO$

 [DefaultInstall]Addreg=Add

 [Add]HKLM SOFARE\小軍 %REG_SZ% 小軍向妳表示祝賀!HKLM SOFARE\小軍 SZ字符串 %REG_SZ% Congratulations!HKLM SOFARE\小軍 Dword雙字節 %REG_Dword% HKLM SOFARE\小軍 Binary二進值 %REG_BINARY% HKLM SOFARE\小軍\測試 ;添加 測試 這個下級子鍵

 [Strings]REG_SZ= x REG_BINARY= x REG_DWORD= x

 鼠標右鍵點擊這個INF文件 選擇快捷菜單中的 安裝 命令 如果妳輸入的格式沒有錯誤的話 應該在HKEY_LOCAL_MACHINE\Sofare下面看到壹個新的主鍵 小軍 選中這個主鍵 應該可以在右邊看到默認值為 小軍向妳表示祝賀! 還有壹個叫做 SZ字符串 的字符串值為 Congratulations! 等等

 

 展開這個主鍵 還可以看到另外壹個主鍵 名為 測試 是不是感到很奇怪啊?其實這壹招並不神秘 就是那個INF文件搗的 鬼 !

 由上可知 INF文件是由各個小節(Section) 組成 各小節之間必須空壹行 小節的名字從中括號 [ 起至 ] 結束 小節的名字是它的入口點 在此文件中必須是唯壹的 小節名之後是小節內容 形式上是 鍵名稱=鍵值 在文件中可以添加註釋 由分號 ; 完成 分號後的內容不被解釋執行 書寫INF文件的格式如上所示 其各項含義如下

 [Version] 指明能夠使用的Windows版本Signature 系統從這裏來看是不是適合當前版本 如果適合的話就執行 否則不執行 [DefaultInstall] 指出該INF文件包含的其他小節 可將INF文件看成是以[DefaultInstall]為主幹的樹 在這兒我們可以加入AddReg和DelReg鍵 它們指定希望添加 編輯 修改或是刪除註冊表項的小節名稱 Addreg=add 表示在註冊表中添加內容 此項就指定了要添加的⒉岜硇∠畹母鞽疲芯嚀逄砑雍蛻境?畔⒌男〗誥?褂美嗨聘袷餃縵攏?/font>

 HKEY(根鍵縮寫) Subkey(子鍵) Valuename(鍵值名) Type(鍵值類型) Value(鍵值)

 其中根鍵縮寫方式很明了 前兩個字符必須為HK 如HKEY HKLM HKR等 子鍵為不包括根鍵部分的子鍵分支 鍵值為空就表示是默認值 鍵值類型中 如果為 則指定為字符串型 如果為 則是二進制型 鍵值中的字符串形式的必須以雙引號括起來 而二進制數據則使用十六進制格式表示出來 各字節之間以逗號 分割

 Delreg=del 表示在註冊表中要刪除的內容[Strings] 是擴充用的 這樣就可以避免記憶麻煩的數字了 比如字符串本來應該是 現在用REG_SZ表示

 基本原理就這些 現在我們來刪除剛剛我建立的東西 在記事本裏面粘貼下面內容

 [Version]Signature= $CHICAGO$

 [DefaultInstall]Delreg=Del

 [Del]HKLM SOFARE\小軍\測試 HKLM SOFARE\小軍

 然後保存為擴展名為 INF的任意文件 用鼠標右鍵點擊這個INF文件 選擇快捷菜單中的 安裝 命令 然後再到註冊表編輯器裏面看看 是不是剛剛建立的東西沒有了 怎麽樣?很神奇吧?

 也許有人會問 能不能只刪除壹項呢?可以的 比如我刪除HKEY_LOCAL_MACHINE\小軍下的那個叫做 SZ字符串 的字符串值 那麽只需要用記事本寫下面內容

 [Version]Signuture= $CHICAGO$

 [DefaultInstall]Delreg=Del

 [Del]HKLM SOFARE\小軍 SZ字符串

 保存完畢 按照同樣的方法運行即可只刪除這個字符串值

 現在 我們再舉個用INF文件對註冊表進行操作的例子 具體說來就是用INF文件對加了鎖的註冊表進行解鎖 何為加了鎖的註冊表?大家知道 要禁止別人使用註冊表編輯器 可以使用下面這個辦法 在註冊表HKEY_CURRENT_USER\Sofare\Microsoft\Windows\CurrentVerssion\policies\system下 新建DWORD值Disableregistrytools 並設其鍵值為 即可 這樣 當有人運行註冊表編輯器時就會出現 註冊編輯已被管理員所禁止 的對話框 限制了別人使用註冊表編輯器 在壹定程度上保護了系統的安全

 

 但是當自己要使用註冊表編輯器時該怎麽辦呢?我們可以用記事本編制個INF文件進行解鎖

 [Version]Signature= $CHICAGO$

 [DefaultInstall]Delreg=Del

 [Del] HKCU Sofare\Microsoft\Windows\CurrentVersion\Policies\System Disableregistrytools

 將上面的內容保存為後綴名為 inf的任意文件 然後用右鍵點擊它 在彈出菜單中選擇 安裝 即可給註冊表解鎖

lishixinzhi/Article/program/Java/JSP/201311/19395