Número mágico son los primeros 4 bytes en cada clase Java compilada. Esta es la estructura de una clase Java compilado:
ClassFile {
u4 magic;
u2 minor_version;
u2 major_version;
u2 constant_pool_count;
cp_info constant_pool[constant_pool_count-1];
u2 access_flags;
u2 this_class;
u2 super_class;
u2 interfaces_count;
u2 interfaces[interfaces_count];
u2 fields_count;
field_info fields[fields_count];
u2 methods_count;
method_info methods[methods_count];
u2 attributes_count;
attribute_info attributes[attributes_count];
}
'magia' debe ser siempre igual a: 0xCAFEBABE
. Le dice a la JVM: "¡Oye tú! ¡Soy una clase de Java, puedes ejecutar mi código!". Cuando JVM lee un archivo y el número mágico no es válido, no lo ejecutará.
¿Dónde lo encontraste? –
estás en qué sitio web? ¿Qué hace el archivo de clase en el sitio web? – gefei
El sitio web no es público en este momento. ¿Puedo enviarte un correo electrónico con la url? – narf