此外,編譯好的腳本程序是經(jīng)過(guò)壓縮和加密的,而且還可使用 FileInstall 函數(shù)來(lái)綁定(裝入)所需文件(同樣也會(huì)被壓縮和加密)到生成的程序中。當(dāng)然,所有被 #include (包含)的文件都會(huì)被連接并編譯進(jìn)目標(biāo)文件中,這樣腳本(程序)在運(yùn)行時(shí)就不再需要這些文件了。
Aut2Exe 的使用方法有以下三種:
方法 1 - 開(kāi)始菜單(Start Menu)
此方法要求完整安裝AutoIt.
1. 打開(kāi)開(kāi)始菜單并選擇 AutoIt v3 程序組。
2. 點(diǎn)擊“Compile Script to .exe”。
3. Aut2Exe的主界面就出現(xiàn)在您的面前了。

4. 點(diǎn)擊瀏覽(Browse)按鈕來(lái)選擇要編譯的腳本文件(.au3)和程序的輸出位置(.exe)。
5. 如要修改目標(biāo)程序的圖標(biāo)則請(qǐng)點(diǎn)擊(第三個(gè))瀏覽(Browse)按鈕并指定圖標(biāo)文件(也可使用由AutoIt提供的一些示例圖標(biāo):默認(rèn)位于Program Files\AutoIt3\Aut2Exe\Icons).
6. 如果不希望有任何人反編譯您的腳本程序(現(xiàn)已有反編譯工具)則請(qǐng)?jiān)谙路捷斎爰用苊艽a。
7. 現(xiàn)在只剩下一個(gè)可能會(huì)需要調(diào)整的設(shè)置了,那就是編譯程序時(shí)的壓縮級(jí)別(在使用FileInstall裝入大量文件時(shí)特別有用)。打開(kāi)壓縮級(jí)別(Compression)菜單即可進(jìn)行設(shè)置。正如其它壓縮程序一樣,您選擇的壓縮級(jí)別越高則壓縮速度越慢。不過(guò),無(wú)論您選擇哪一種壓縮級(jí)別(最終生成的.exe程序)在解壓(運(yùn)行)的時(shí)候速度都是差不多的。
8. 點(diǎn)擊轉(zhuǎn)換(Convert)按鈕即可編譯腳本。
方法 2 - 右鍵菜單(Right Click)
此方法要求完整安裝AutoIt.
1. 在資源管理器中找到您要編譯的 .au3 腳本文件。
2. 在其上點(diǎn)擊右鍵。

3. 在出現(xiàn)的右鍵菜單上點(diǎn)擊“Compile Script”,則腳本文件即被編譯并在同一目錄下生成一個(gè)同名文件(當(dāng)然,擴(kuò)展名變成.exe)。
當(dāng)您選擇使用這種編譯方式的時(shí)候,Aut2Exe 將使用當(dāng)前的圖標(biāo)和壓縮級(jí)別設(shè)置(也即上一次通過(guò)第一種方式編譯時(shí)的設(shè)置)。
方法 3 - 命令行(The Command Line)
Aut2Exe.exe 也可在命令行環(huán)境下運(yùn)行,例如:
Aut2exe.exe /in infile.au3> [/out outfile.exe>] [/icon iconfile.ico>] [/nodecompile] [/comp 0-4] [/pass passphrase>]
長(zhǎng)文件名應(yīng)該用雙引號(hào)圍住,如 "C:\Program Files\Test\test.au3"。若沒(méi)有給定“out” 文件名則生成與腳本文件同名的程序(僅擴(kuò)展名不同)。
『注:參數(shù)中的infile.au3>指的是要編譯的腳本文件位置(相對(duì)路徑或絕對(duì)路徑),outfile.exe>指的是編譯后的程序生成的位置,iconfile.ico>指的是圖標(biāo)文件的位置,[/comp 0-4]指的是壓縮級(jí)別,passphrase>指的是加密密碼。』
技術(shù)細(xì)節(jié)
在腳本編譯和使用FileInstall函數(shù)裝入外部文件時(shí)所用的是我本人(Jon) 的壓縮算法。
因?yàn)橐粋€(gè)編譯好的腳本程序必須能做到無(wú)需密碼(解壓)而又能夠得以解析并運(yùn)行。也就是說(shuō)壓縮是雙向的(即壓縮和解壓都是用同一種算法)。正因?yàn)槿绱耍鷳?yīng)該把生成的程序純粹地視為編譯文件而不能認(rèn)為(其中保存的信息)是完全安全的。舉個(gè)例子來(lái)說(shuō),如果我(為了桌面展示的目的)寫(xiě)了一個(gè)需要含有用戶名和密碼的腳本,那么我可能會(huì)用工作站級(jí)別的用戶名/密碼而 不會(huì) 認(rèn)為腳本程序已足夠安全而使用域或整個(gè)網(wǎng)絡(luò)的密碼,除非我非常確定不會(huì)有任何終端用戶可獲取該程序。