Classes are only verified before first use.  If no code paths ever get around 
to executing code that references a class, that class will never be verified.

HTH,
-Alex

On 7/17/19, 10:53 AM, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com> wrote:

    Greetings again!
    
    I have special use case that I would like to be able to reproduce and as an 
inspiration I took one specific SWF file which is part of the
    ADEP Gravity Client Component Framework which is an adaptation of the OSGi 
runtime in Actionscript 3.0.
    
    The file in question can be seen in this video 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fyoutu.be%2Fg_Y4PmR_L1w%3Ft%3D379&amp;data=02%7C01%7Caharui%40adobe.com%7C35ae8f5aa1d348d8bee508d70adfa6ef%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636989828000022177&amp;sdata=adhdlPghJ%2ByP26c4q6mLDSgNbL%2B2NDK9fU%2Fiq%2BWb%2FyU%3D&amp;reserved=0.
    I'm talking about the gravity_shared_flex-flex450.swf which is a special 
RSLs loader.
    That file is loaded first by Gravity as a bundle in memory before any RSLs 
are handled. In that SWF there is a GravitySystemManager class that extends 
SystemManager. That custom SystemManager first loads all the RSLs and then adds 
the GravitySparkApplication on the display list.
    
    The problem that I'am having while trying to reproduce the same mechanism 
is that inside that SWF there is a GravitySparkApplicationclass that extends 
the Application from Apache Flex. Although that the Application class is not 
compiled in that SWF it has no problem loading in memory and there is no 
VerifyError that says the spark.components.Application was not found.
    
    My intuition tells me that there is a special mxmlc compiler option when 
used in an SWF compilation that tells the Flash Player to skip any kind of 
class verification.
    
    My question is how did Adobe managed to compile an SWF which is referencing 
spark.components.Application as an external reference when that external 
reference comes into existence after the RSLs are loaded by 
gravity_shared_flex-flex450.swf which itself cannot be loaded before the RSLs?
    
    I hope that my question is clear.
    
    

Reply via email to