Tệp ABC là gì?
Một tệp có phần mở rộng .abc là một Tệp mã Byte ActionScript được tạo bởi trình biên dịch Flash là kết quả của việc biên dịch các tệp script ActionScript. Mã byte chứa trong tệp ABC được thực thi bởi Máy ảo ActionScript (AVM và AVM2). Mã byte bao gồm dữ liệu không đổi, hướng dẫn từ tập lệnh AVM2 và các loại siêu dữ liệu khác nhau. Khi tệp ABC được tải vào AVM hoặc AVM2, nó sẽ được xác minh. Nếu nó không phù hợp với Tổng quan về AVM2, nó sẽ bị từ chối. Các tệp ABC có thể được mở trong Adobe Flash Player đã ngừng hoạt động từ lâu.
Định dạng tệp ABC - Thông tin khác
Các tệp ABC được lưu vào đĩa ở định dạng tệp nhị phân mà máy ảo AVM hoặc AVM2 có thể đọc được. Cấu trúc tệp bên trong của nó đại diện cho khối mã thực thi với tất cả dữ liệu không đổi, bộ mô tả kiểu, mã và siêu dữ liệu.
Cấu trúc tệp ABC
Cấu trúc tệp ABC như hình bên dưới.
abcFile
{
u16 minor_version
u16 major_version
cpool_info constant_pool
u30 method_count
method_info method[method_count]
u30 metadata_count
metadata_info metadata[metadata_count]
u30 class_count
instance_info instance[class_count]
class_info class[class_count]
u30 script_count
script_info script[script_count]
u30 method_body_count
method_body_info method_body[method_body_count]
}
Trường Tệp ABC
Tên trường | Mô tả |
---|---|
minor_version, major_version | Các giá trị của major_version và minor_version là số phiên bản chính và phụ của định dạng abcFile. |
constant_pool | Hằng_pool là một cấu trúc có độ dài thay đổi bao gồm các số nguyên, số đôi, chuỗi, không gian tên, bộ không gian tên và nhiều tên. |
method_count, method | Giá trị củamethod_count là số mục nhập trong mảng phương thức. Mỗi mục trong mảng phương thức là một cấu trúc method_info có độ dài thay đổi. |
metadata_count, metadata | Giá trị của metadata_count là số mục nhập trong mảng siêu dữ liệu. Mỗi mục nhập siêu dữ liệu là một cấu trúc siêu dữ liệu_thông tin ánh xạ tên thành một tập hợp các giá trị chuỗi. |
class_count, instance, class | Giá trị của class_count là số mục nhập trong mảng instance và class. |
script_count, script | Giá trị của script_count là số mục trong mảng script. Mỗi mục nhập tập lệnh là một cấu trúc script_info xác định các đặc điểm của một tập lệnh trong tệp này. |
method_body_count, method_body | Giá trị của method_body_count là số mục trong mảng method_body. Mỗi method_bodyentry bao gồm một cấu trúc method_body_info có độ dài thay đổi chứa các hướng dẫn cho một phương thức hoặc chức năng riêng lẻ. |