Was ist eine ABC-Datei?
Eine Datei mit der Erweiterung .abc ist eine ActionScript-Bytecode-Datei, die vom Flash-Compiler als Ergebnis der Kompilierung der ActionScript-Skriptdateien erstellt wird. Der in der ABC-Datei enthaltene Bytecode wird von der ActionScript Virtual Machine (AVM und AVM2) ausgeführt. Der Bytecode besteht aus konstanten Daten, Anweisungen aus dem AVM2-Befehlssatz und verschiedenen Arten von Metadaten. Wenn eine ABC-Datei in den AVM oder AVM2 geladen wird, wird sie überprüft. Entspricht es nicht der AVM2-Übersicht, wird es abgelehnt. ABC-Dateien können in Adobe Flash Player geöffnet werden, der vor langer Zeit eingestellt wurde.
ABC-Dateiformat - Weitere Informationen
ABC-Dateien werden im binären Dateiformat auf der Disc gespeichert, das von virtuellen AVM- oder AVM2-Maschinen gelesen werden kann. Seine interne Dateistruktur repräsentiert einen ausführbaren Codeblock mit all seinen konstanten Daten, Typdeskriptoren, Code und Metadaten.
ABC-Dateistruktur
Die ABC-Dateistruktur ist wie unten gezeigt.
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]
}
ABC-Dateifelder
Feldname | Beschreibung |
---|---|
minor_version, major_version | Die Werte von major_version und minor_version sind die Haupt- und Nebenversionsnummern des abcFile-Formats. |
constant_pool | Der constant_pool ist eine Struktur mit variabler Länge, die aus ganzen Zahlen, Doubles, Strings, Namespaces, Namespace-Sets und Multinames besteht. |
method_count, method | Der Wert vonmethod_count ist die Anzahl der Einträge im Methodenarray. Jeder Eintrag im Methoden-Array ist eine method_info-Struktur variabler Länge. |
metadata_count, metadata | Der Wert von metadata_count ist die Anzahl der Einträge im Metadaten-Array. Jeder Metadateneintrag ist eine metadata_infostructure, die einen Namen einem Satz von Zeichenfolgewerten zuordnet. |
class_count, instance, class | Der Wert von class_count ist die Anzahl der Einträge in den Instanz- und Klassenarrays. |
script_count, script | Der Wert von script_count ist die Anzahl der Einträge im script-Array. Jeder Skripteintrag ist eine script_info-Struktur, die die Eigenschaften eines einzelnen Skripts in dieser Datei definiert. |
method_body_count, method_body | Der Wert von method_body_count ist die Anzahl der Einträge im method_body-Array. Jeder method_body-Eintrag besteht aus einer method_body_info-Struktur variabler Länge, die die Anweisungen für eine einzelne Methode oder Funktion enthält. |