AutoIT Ngôn Ngữ Lập Trình Bị Ghét Bỏ?
AutoIt là một ngôn ngữ lập trình được cung cấp miễn phí, có dạng kịch bản giống như BASIC (được viết trên nền C++ ) được thiết kế để tự động hóa các GUI (Graphic User Interface: giao diện người dùng) và các thao tác thường dùng. Nó là sự phối hợp của việc giả lập nhấn phím, di chuyển chuột và thao ...
AutoIt là một ngôn ngữ lập trình được cung cấp miễn phí, có dạng kịch bản giống như BASIC (được viết trên nền C++ ) được thiết kế để tự động hóa các GUI (Graphic User Interface: giao diện người dùng) và các thao tác thường dùng. Nó là sự phối hợp của việc giả lập nhấn phím, di chuyển chuột và thao tác trên cửa sổ/control (control là các đối tượng tương tác được trên cửa sổ, ví dụ như là button - nút bấm) để thực hiện tự động các tác vụ theo cách thức mà các ngôn ngữ khác không thể làm hoặc làm không chuẩn xác. AutoIt có dung lượng rất nhỏ gọn, có thể chạy độc lập trên tất cả các phiên bản của Windows mà không cần các runtime để làm nền. Tuy nhiên, kể từ phiên bản v3.3, AutoIt đã không còn hỗ trợ cho Windows 9x và Win NT 4.0. AutoIt trở nên thông dụng và ngày càng được nhiều người biết đến.
Ưu điểm chính:
- Dễ học vì các cú pháp đơn giản. (Khá giống Javascript vì cùng là ngôn ngữ kịch bản).
- Giả lập được các hành động nhấn phím và di chuyển chuột.
- Thao tác được với các tiến trình và cửa sổ.
- Tương tác được với các control trên cửa sổ.
- Tệp tin kịch bản có thể được biên dịch thành một tệp tin thực thi duy nhất.
- Cho phép tạo GUI - giao diện đồ họa người dùng.
- Hỗ trợ COM (Component Object Model).
- Hỗ trợ Biểu thức chính quy (Regular Expression).
- Gọi một cách có định hướng các tệp tin DLL mở rộng và các hàm API.
- Tài liệu chi tiết và cộng đồng hỗ trợ lớn.
- Tương thích với tất cả phân hệ của Windows.
- Hỗ trợ Unicode và x64.
- Làm việc với User Account Control (UAC) trên Windows Vista.
Nhược điểm:
- Chưa hỗ trợ đa tiểu trình (multi-thread).
- Chưa hỗ trợ đầy đủ bộ xử lý sự kiện trên control (GUI Event Handled). Ví dụ như sự kiện MouseHover, MouseMove.
- Dễ bị dịch ngược - tuy nhiên điều này còn tùy thuộc vào cách bảo vệ của bạn và kỹ năng của "người dịch ngược".
- Thường bị trình diệt vi-rút cho luôn là Trojan/Malware.
Lịch sử ngắn gọn của autoIT:
- Ra đời: January 1999
- Loại: Mã nguồn mở
- Phiên bản mới nhất: 3.3.14.3 / February 2, 2018
- Cha đẻ: Jonathan Bennett & AutoIt Team
Với mục đích ban đầu AutoIT được sử dụng để viết các chương trình Auto (phần mềm tự động) để giải quyết các nhu cầu về công việc nào đó. Đa số trong số đó là AutoGame, AutoSendRequest, ... Tuy nhiên có vẻ như nhiều người sử dụng AutoIT để viết các mã độc virus malware hay nổi tiếng hơn là Botnet/RAT - Cái này chuyên để tạo ra những chú troijan (yaoming). Yahoo ngày xưa cũng bị phát tán virus năm 2006, hầu hết các mã độc đó đều được viết bằng autoIT (nghe đồn - yaoming). Hầu hết các chương trình diệt virus hiện này khi xác nhận một phần mềm có chữ kí sử dụng autoIT thì auto là malware (yaoming).
Xem qua Code HelloWord của AutoIT trên trang chủ:
; This script types Hello World in a Word document. ; Before running this script, open Word and save the file as hello.docx (or hello.doc). ; The names must be in lower case to match the script. Opt("WinTitleMatchMode", 2) ; Configures AutoIt to find a search term in any part of the window title WinActivate("hello.doc") ; Activates the Word window with hello.docx (or hello.doc) in any part of the title bar WinWaitActive("hello.doc") ; Waits for the window to be the active window Send("Hello World") ; Types Hello World
Nói tóm lại AutoIT là một ngôn ngữ rất đáng để học, dễ dàng và tiện lợi khi sử dụng để ... viết các loại tool tự động hóa. Một vài tài nguyên học tập để chúng ta lướt qua về AutoIT như:
- Học AutoIt trong 5 phút: https://autoit-v3.blogspot.com/
- Trang chủ: https://www.autoitscript.com/site/
- Diễn đàn tại VN: http://autoitvn.com/
- https://vi.wikipedia.org/wiki/AutoIt
- https://junookyo.blogspot.com/2014/11/tai-sao-autoit-luon-bi-ghet.html