autoit

关注公众号 jb51net

关闭
首页 > 脚本专栏 > autoit > Aut2Exe编译

Aut2Exe编译au3脚本为可执行文件

作者:

把AutoIt的.au3脚本文件编译成可独立运行的程序当然是可实现的,这样就可以使得编译后的程序得以在没有安装AutoIt(或者说没有AutoIt3.exe这个解释程序)的机器上运行。
此外,编译好的脚本程序是经过压缩和加密的,而且还可使用 FileInstall 函数来绑定(装入)所需文件(同样也会被压缩和加密)到生成的程序中。当然,所有被 #include (包含)的文件都会被连接并编译进目标文件中,这样脚本(程序)在运行时就不再需要这些文件了。

Aut2Exe 的使用方法有以下三种:

方法 1 - 开始菜单(Start Menu)

此方法要求完整安装AutoIt.

1.  打开开始菜单并选择 AutoIt v3 程序组。

2.  点击“Compile Script to .exe”。

3.  Aut2Exe的主界面就出现在您的面前了。

       

4.  点击浏览(Browse)按钮来选择要编译的脚本文件(.au3)和程序的输出位置(.exe)。

5.  如要修改目标程序的图标则请点击(第三个)浏览(Browse)按钮并指定图标文件(也可使用由AutoIt提供的一些示例图标:默认位于Program Files\AutoIt3\Aut2Exe\Icons).

6.  如果不希望有任何人反编译您的脚本程序(现已有反编译工具)则请在下方输入加密密码。

7.  现在只剩下一个可能会需要调整的设置了,那就是编译程序时的压缩级别(在使用FileInstall装入大量文件时特别有用)。打开压缩级别(Compression)菜单即可进行设置。正如其它压缩程序一样,您选择的压缩级别越高则压缩速度越慢。不过,无论您选择哪一种压缩级别(最终生成的.exe程序)在解压(运行)的时候速度都是差不多的。

8.  点击转换(Convert)按钮即可编译脚本。

 

方法 2 - 右键菜单(Right Click)

此方法要求完整安装AutoIt.

1.  在资源管理器中找到您要编译的 .au3 脚本文件。

2.  在其上点击右键。

       

3.  在出现的右键菜单上点击“Compile Script”,则脚本文件即被编译并在同一目录下生成一个同名文件(当然,扩展名变成.exe)。

当您选择使用这种编译方式的时候,Aut2Exe 将使用当前的图标和压缩级别设置(也即上一次通过第一种方式编译时的设置)。

 

方法 3 - 命令行(The Command Line)

Aut2Exe.exe 也可在命令行环境下运行,例如:

    Aut2exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon <iconfile.ico>] [/nodecompile] [/comp 0-4] [/pass <passphrase>]

长文件名应该用双引号围住,如 "C:\Program Files\Test\test.au3"。若没有给定“out” 文件名则生成与脚本文件同名的程序(仅扩展名不同)。

『注:参数中的<infile.au3>指的是要编译的脚本文件位置(相对路径或绝对路径),<outfile.exe>指的是编译后的程序生成的位置,<iconfile.ico>指的是图标文件的位置,[/comp 0-4]指的是压缩级别,<passphrase>指的是加密密码。』

 

技术细节

在脚本编译和使用FileInstall函数装入外部文件时所用的是我本人(Jon) 的压缩算法。

因为一个编译好的脚本程序必须能做到无需密码(解压)而又能够得以解析并运行。也就是说压缩是双向的(即压缩和解压都是用同一种算法)。正因为如此,您应该把生成的程序纯粹地视为编译文件而不能认为(其中保存的信息)是完全安全的。举个例子来说,如果我(为了桌面展示的目的)写了一个需要含有用户名和密码的脚本,那么我可能会用工作站级别的用户名/密码而 不会 认为脚本程序已足够安全而使用域或整个网络的密码,除非我非常确定不会有任何终端用户可获取该程序。

阅读全文