Cú pháp được sử dụng trong ngôn ngữ AAPL.

Một phần của tài liệu Phát hiện virus đa hình (Trang 59 - 60)

54 push esp 5D pop ebp

4.2 Cú pháp được sử dụng trong ngôn ngữ AAPL.

Những chương trình đã được viết trên AAPL gồm có một chuỗi những khai báo. Mọi khai báo của chương trình đều có chứa một lệnh C và một nhãn L tùy ý.Thanh ghi chương trình là một tập hữu hạn của những thanh ghi assembly ở đó đại diện cho một tập cố định của word-sized chứa đựng trong khi chương trình thực thi. (PC là thanh ghi chương trình nó chứa địa chỉ vùng nhớ của lệnh tiếp theo được thực hiện của chương trình khi thực thi). SP thanh ghi con trỏ stack, là tập số nguyên không dấu. Ip chứa địa chỉ của lệnh hiện tại đang thực thi.

R ::= {PC, SP, R0, R1, ..., Rn}

E ::= n | L | R | E | E1opE2 (op {+,−,,/,...})

B ::= true | false | E1 < E2 | ¬B1 | B1&&B2

A ::= R := E | SKIP | JMP E | R := E | CALLE |RTN RTN

C ::= CA := A| CB := BJMP E | CB := BJMP E P ::= Σ(C)

B = {true,false}( giá trị logic) n Z( số nguyên không dấu) ρ E = R → Z⊥(môi trường) m M = Z → Z ⊥∪C( vùng nhớ) x∈ X = E × M(ngữ cảnh thi hành) S = C × X(trạng thái chương trình) (a) (b)

Hình 4.5 (a) cú pháp của lệnh, (b) miền giá trị

Hình 4.5 mô tả cú pháp của AAPL. Một chương trình P là chuỗi của các lệnh . Đây là 2 kiểu của những lệnh trong AAPL, những hành động và lệnh nhảy có điều kiện. Một lệnh hành động CA có thể thực hiện như sau: quá trình đánh giá một thanh ghi, tải kết quả của biểu thức vào vùng nhớ của thanh ghi… Một lệnh nhảy không điều kiện có thể thực hiện nhảy cơ bản trên một biểu thực giá trị, một lời gọi của biểu thức giá trị và một trả về từ một vùng nhớ chương trình được xác định nởi SP. Một lệnh nhảy điều kiện CB

thực hiện một nhảy tới một vùng nhớ được chỉ định bởi giá trị của biểu thức e khi biểu thức logic B nếu được đánh giá là true.được mô tả là môi trường của những thanh ghi chương trình, bao gồm PC, trong khi chương trình thực hiện. Một môi trường những ánh xạ một thanh ghi đến giá trị nó chứa đó là . Tóm lại vùng nhớ trong ngôn ngữ mô tả hành động chứa đựng của những thanh ghi chương trình và những vị trí được biểu diễn bởi những biểu thức toán học.

Ngữ nghĩa của mã độc thì được định nghĩa và xây dụng dựa trên những cú pháp của ngôn ngữ AAPL. Phần sau là sự trình bày về ngữ nghĩa của mã độc dựa trên ngôn ngữ AAPL.

Một phần của tài liệu Phát hiện virus đa hình (Trang 59 - 60)

Tải bản đầy đủ (DOCX)

(63 trang)
w