此外,編譯好的腳本程序是經(jīng)過壓縮和加密的,而且還可使用 FileInstall 函數(shù)來綁定(裝入)所需文件(同樣也會被壓縮和加密)到生成的程序中。當(dāng)然,所有被 #include (包含)的文件都會被連接并編譯進(jìn)目標(biāo)文件中,這樣腳本(程序)在運(yùn)行時就不再需要這些文件了。
Aut2Exe 的使用方法有以下三種:
方法 1 - 開始菜單(Start Menu)
此方法要求完整安裝AutoIt.
1. 打開開始菜單并選擇 AutoIt v3 程序組。
2. 點(diǎn)擊“Compile Script to .exe”。
3. Aut2Exe的主界面就出現(xiàn)在您的面前了。
![](https://www.jb51.net/shouce/autoit/AutoIt_CN/html/images/aut2exe.png)
4. 點(diǎn)擊瀏覽(Browse)按鈕來選擇要編譯的腳本文件(.au3)和程序的輸出位置(.exe)。
5. 如要修改目標(biāo)程序的圖標(biāo)則請點(diǎn)擊(第三個)瀏覽(Browse)按鈕并指定圖標(biāo)文件(也可使用由AutoIt提供的一些示例圖標(biāo):默認(rèn)位于Program Files\AutoIt3\Aut2Exe\Icons).
6. 如果不希望有任何人反編譯您的腳本程序(現(xiàn)已有反編譯工具)則請?jiān)谙路捷斎爰用苊艽a。
7. 現(xiàn)在只剩下一個可能會需要調(diào)整的設(shè)置了,那就是編譯程序時的壓縮級別(在使用FileInstall裝入大量文件時特別有用)。打開壓縮級別(Compression)菜單即可進(jìn)行設(shè)置。正如其它壓縮程序一樣,您選擇的壓縮級別越高則壓縮速度越慢。不過,無論您選擇哪一種壓縮級別(最終生成的.exe程序)在解壓(運(yùn)行)的時候速度都是差不多的。
8. 點(diǎn)擊轉(zhuǎn)換(Convert)按鈕即可編譯腳本。
方法 2 - 右鍵菜單(Right Click)
此方法要求完整安裝AutoIt.
1. 在資源管理器中找到您要編譯的 .au3 腳本文件。
2. 在其上點(diǎn)擊右鍵。
![](https://www.jb51.net/shouce/autoit/AutoIt_CN/html/images/compile-rightclick.png)
3. 在出現(xiàn)的右鍵菜單上點(diǎn)擊“Compile Script”,則腳本文件即被編譯并在同一目錄下生成一個同名文件(當(dāng)然,擴(kuò)展名變成.exe)。
當(dāng)您選擇使用這種編譯方式的時候,Aut2Exe 將使用當(dāng)前的圖標(biāo)和壓縮級別設(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>]
長文件名應(yīng)該用雙引號圍住,如 "C:\Program Files\Test\test.au3"。若沒有給定“out” 文件名則生成與腳本文件同名的程序(僅擴(kuò)展名不同)。
『注:參數(shù)中的infile.au3>指的是要編譯的腳本文件位置(相對路徑或絕對路徑),outfile.exe>指的是編譯后的程序生成的位置,iconfile.ico>指的是圖標(biāo)文件的位置,[/comp 0-4]指的是壓縮級別,passphrase>指的是加密密碼。』
技術(shù)細(xì)節(jié)
在腳本編譯和使用FileInstall函數(shù)裝入外部文件時所用的是我本人(Jon) 的壓縮算法。
因?yàn)橐粋€編譯好的腳本程序必須能做到無需密碼(解壓)而又能夠得以解析并運(yùn)行。也就是說壓縮是雙向的(即壓縮和解壓都是用同一種算法)。正因?yàn)槿绱?,您?yīng)該把生成的程序純粹地視為編譯文件而不能認(rèn)為(其中保存的信息)是完全安全的。舉個例子來說,如果我(為了桌面展示的目的)寫了一個需要含有用戶名和密碼的腳本,那么我可能會用工作站級別的用戶名/密碼而 不會 認(rèn)為腳本程序已足夠安全而使用域或整個網(wǎng)絡(luò)的密碼,除非我非常確定不會有任何終端用戶可獲取該程序。