麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > HTML > 正文

用vbs在 HTA 內對腳本進行編碼的方法

2020-01-25 19:40:43
字體:
來源:轉載
供稿:網友
問: 
您好,腳本專家!如何在 HTA 內對腳本進行編碼? 
-- LL 
答: 
您好,LL。您知道,剛看到這個問題時,我們就在想:“這有什么大不了的?難道不能像在 HTML 文件中那樣在 HTML 應用程序 (HTA) 中對腳本進行編碼嗎?”令我們大為吃驚的是,好像不能在 HTA 中對腳本進行編碼;每次試圖這樣做時,都會返回像下面這樣的錯誤消息: 
Scripting encoder object ("Scripting.Encoder") failed on C:/Scripts/test.hta 
老實說,我們從未找到在 HTA 中對腳本進行編碼的方法。不過沒關系,因為我們的確想出了一個解決此問題的鬼點子。我們一會兒就為您展示。 
但是,在做之前,我們需要花點兒時間解釋對腳本編碼是什么意思。Microsoft 有一個實用程序,名為 Script Encoder(腳本編碼器),可將您的腳本代碼“打亂”。例如,假設您有一個類似下面的腳本: 
strComputer = "." 
Set objWMIService = GetObject("winmgmts://" & strComputer &  "/root/cimv2") 
   Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") 
For Each objOperatingSystem in colOperatingSystems 
    Msgbox objOperatingSystem.Caption & " " &   objOperatingSystem.Version 
Next 
假設出于某些原因,您希望人們無法閱讀腳本代碼。這是個問題:畢竟,任何人只要有權運行腳本,就同樣有權在記事本中打開此腳本,并且想看什么就看什么。不過,同一個腳本經“腳本編碼器”處理后,會成為下面顯示的樣子: 
#@~^8AEAAA==@#@&@#@&@#@&,PP,?!8PV+OrU.n.kkW@#@&,PP,~~PkYMZG:2;D+.P{~JcJ@#@&,PP~~,P~P,~U+O,W(Ltq 
UnD7k^+,'~!Yr(%+1Y`rArxsosYd)wwrP'PkOD;Wh2!Y+.~LP~J'.KWO'mb:/yJ*@#@&@#@&~P,P~~,PP,~?YP1Gsra+MlOkULUXdYh/,'~G( 
L/(U+./b^R3X+1pEDH~{@#@&~P,P~~,PP,~P,PPvEj+^+1Y~e~W 
MWhPqrx2 m6a+DCObxL?HdD+hr#@#@&@#@&P,~P,P~P,P~oKDPACm4PW(%6wDmYr 
xLjH/O+s~kP^G^rwn.mYrxTjH/O:k@#@&,P,~P,P~P,P~~,PHkL4K6PK8%ra+M 
lOkULUXdYhR;l2ObWx~',J~J,',{@#@&P,PP,P,~P,P~P,P~~,PW(%ra+DmOrxT?H/O+h  
j+./bGx@#@&~~,PP~~,P~PgnXY@#@&P,PPAx9~?!4@#@&QYQAAA==^#~@ 
腳本仍可正常運行,只是任何人再想查看代碼并剽竊您的工作成果就有點困難了。(您說對了:盡管如此,但它確實要比您好,腳本專家!中提到的大多數笑話更有意義) 
現在,要記住的重要一點是,我們只將腳本編碼(或打亂),而絕對沒有加密。這意味著什么?這意味著編碼器會對多數人隱藏您的腳本;但是,一個掌握編碼知識或擁有從 Internet 下載的實用程序的真正鐵桿黑客,卻能破解此代碼。這尤其意味著永遠不要在腳本中“隱藏”管理員密碼,也不要以為“腳本編碼器”能保證密碼不被窺探。它不會像您想的那樣,因為它是編碼器而不是加密器,這絕對是有區別的。 
那么,在 HTA 中對腳本編碼的問題又怎么樣呢?好吧,我們假設您有一個類似下面所示的 HTA(我們同樣假設您已經下載并安裝了“腳本編碼器”): 
<head> 
<title>Operating System Version</title> 
<HTA:APPLICATION  
     APPLICATIONNAME="Operating System Version" 
     SCROLL="yes" 
     SINGLEINSTANCE="yes" 

</head> 
<script language="VBScript"> 
    Sub GetOSVersion 
       strComputer = "." 
           Set objWMIService = GetObject("winmgmts://" & strComputer &  "/root/cimv2") 
           Set colOperatingSystems = objWMIService.ExecQuery _ 
               ("Select * from Win32_OperatingSystem") 
           For Each objOperatingSystem in colOperatingSystems 
               Msgbox objOperatingSystem.Caption & " " & _ 
                   objOperatingSystem.Version 
           Next 
    End Sub 
</script> 
<body> 
<input type="button" value="Operating System" name="run_button"  onClick="GetOSVersion"> 
</body> 
如果要對此 HTA 的 VBScript 部分編碼,首先要使用 '**Start Encode** 標記在要編碼部分的開始處進行標記。換言之,<Script> 標記需要像下面這樣,使 '**Start Encode** 恰好位于 VBScript 代碼的第一行之前: 
<script language="VBScript"> 
'**Start Encode** 
    Sub GetOSVersion 
       strComputer = "." 
           Set objWMIService = GetObject("winmgmts://" & strComputer &  "/root/cimv2") 
           Set colOperatingSystems = objWMIService.ExecQuery _ 
               ("Select * from Win32_OperatingSystem") 
           For Each objOperatingSystem in colOperatingSystems 
               Msgbox objOperatingSystem.Caption & " " & _ 
                   objOperatingSystem.Version 
           Next 
    End Sub 
</script> 
從理論上來講,這樣便能通過運行 Screnc.exe 并傳遞兩個參數(現有 HTA 文件 (Test.hta) 的名稱和要指定給編碼文件 (Encoded.hta) 的名稱)來對腳本編碼: 
C:/Scripts>screnc test.hta encoded.hta 
不幸的是,這樣做行不通。 
為什么?噢,我們實在是不能確定。不過,我們知道怎樣會真正行得通。我們只需將現有文件的擴展名 .hta 更改為 .htm。換言之,我們只需將 Test.htm 文件重新命名。“腳本編碼器”無法處理 HTA 文件,但是處理 HTML 文件就沒有問題了。現在,我們可以使用類似下面的語法啟動“腳本編碼器”: 
C:/Scripts>screnc test.htm encoded.hta 
這樣做確實可行嗎?別告訴我們您對腳本專家表示懷疑!編碼后的 .hta 將類似下面這樣: 
<head> 
<title>Operating System Version</title> 
<HTA:APPLICATION  
     APPLICATIONNAME="Operating System Version" 
     SCROLL="yes" 
     SINGLEINSTANCE="yes" 

</head> 
<script language="VBScript.Encode"> 
'**Start Encode**#@~^8AEAAA==@#@&@#@&@#@&,PP,?!8PV+OrU.n.kkW@#@&,PP,~~PkYMZG:2;D+.P{~JcJ@#@&,PP~~,P~P,~U+O,W(Ltq 
UnD7k^+,'~!Yr(%+1Y`rArxsosYd)wwrP'PkOD;Wh2!Y+.~LP~J'.KWO'mb:/yJ*@#@&@#@&~P,P~~,PP,~?YP1Gsra+MlOkULUXdYh/,'~G( 
L/(U+./b^R3X+1pEDH~{@#@&~P,P~~,PP,~P,PPvEj+^+1Y~e~W 
MWhPqrx2 m6a+DCObxL?HdD+hr#@#@&@#@&P,~P,P~P,P~oKDPACm4PW(%6wDmYr 
xLjH/O+s~kP^G^rwn.mYrxTjH/O:k@#@&,P,~P,P~P,P~~,PHkL4K6PK8%ra+M 
lOkULUXdYhR;l2ObWx~',J~J,',{@#@&P,PP,P,~P,P~P,P~~,PW(%ra+DmOrxT?H/O+h  
j+./bGx@#@&~~,PP~~,P~PgnXY@#@&P,PPAx9~?!4@#@&QYQAAA==^#~@</script> 
<body> 
<input type="button" value="Operating System" name="run_button"  onClick="GetOSVersion"> 
</body> 
它仍是個有效的 HTA;單擊按鈕會返回本地機器上安裝的操作系統的名稱和版本。但是,對于任何試圖查看代碼的人,它看上去純粹就是一些雜亂信息。(不用說,腳本專家比任何人都更了解這些雜亂信息!) 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费观看一区二区三区视频 | 色综合欧美 | 国产一区二区视频网站 | 午夜视频在线观看91 | 久久精品欧美电影 | 性生活视频软件 | 免费观看在线 | 黄色特级视频 | 日韩剧情片 | 毛片在哪看 | 日韩美香港a一级毛片免费 欧美一级淫片007 | 宅男噜噜噜66国产在线观看 | 国产精品美女久久久免费 | 国产精品一区在线看 | www.48xx.com| 最新一区二区三区 | 麻豆国产一区 | 国产免费视频一区二区裸体 | 久久久久久久久久网站 | 一级做受毛片免费大片 | 免费在线观看成年人视频 | 一级免费黄色免费片 | 国产一级在线看 | 失禁高潮抽搐喷水h | 成av人在线观看 | 国产精品午夜未成人免费观看 | 亚洲视频精选 | 国产美女一区二区在线观看 | 精品一区二区电影 | 欧美成人一区二区三区电影 | 亚洲精品xxx| 精品国产一区二区三区四 | 亚洲午夜天堂吃瓜在线 | 看黄在线| 亚洲无线看 | 国产一区二区精品91 | 精品亚洲视频在线 | 激情小说激情图片激情电影 | 亚洲一区在线观看视频 | 国产噜噜噜噜久久久久久久久 | 久久久电影电视剧免费看 |