Use swfdump. The decompiler does not show which scripts are in which frames.
Get Outlook for Android<https://aka.ms/ghei36> ________________________________ From: Ramazan Ergüder Bekrek <e.bek...@yandex.com> Sent: Saturday, July 20, 2019 10:04:53 AM To: users@royale.apache.org <users@royale.apache.org> Subject: Re: How to compile an SWF to bypass any VerifyError for non-existing classes inside of that SWF Ok so what I am trying to reproduce an exact copy of the gravity_shared_flex-flex450-debug.swf and here is my advancement so far. You can find the config.xml file on pastebin.com : https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpastebin.com%2FDcMiPDd3&data=02%7C01%7Caharui%40adobe.com%7C1e502d27fadb4bcff46108d70d347195%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636992391214138250&sdata=M1faD1irWRxdNJBXS8htDMDzYQF0yBwiC0lGDEKP4dU%3D&reserved=0 Here are the problems that I encountered so far: This is the decompile of gravity_shared_flex-flex450-debug.swf : https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpasteboard.co%2FIoSvsxo.png&data=02%7C01%7Caharui%40adobe.com%7C1e502d27fadb4bcff46108d70d347195%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636992391214148244&sdata=IrFja3VEw%2Fj3C7QXIytBRQQklqTBoMYk82Eg0azLc6M%3D&reserved=0 This is the decompile of my own version I am trying to reproduce gravity_shared_flex-apache4161-debug: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpasteboard.co%2FIoSwm6L.png&data=02%7C01%7Caharui%40adobe.com%7C1e502d27fadb4bcff46108d70d347195%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636992391214148244&sdata=kcNtWAaXQkWH0x8M8n%2FHR%2FJZnj90Q6n6dFofKm3x3j0%3D&reserved=0 So far when I try to run my RSLs loader in debug mode it goes through but when I compile a release version I still get the VerifyError: spark.components.Application. As you can see in the pictures the original gravity_shared_flex-flex450-debug.swf has less compiled images and locales resources... I don't know what do I do wrong in the compiler settings. Is someone in here knowledgeable with advanced compilation settings with mxmlc? Or do I use the wrong compiler should I use another one? To be clear the gravity_shared_flex-flex450-debug.swf RSLs loader is in the 2nd frame a Spark Application which is handled automatically by the custom GravitySystemManager. Thanx for your support. Best Regards. 19.07.2019, 20:17, "Frost, Andrew" <andrew.fr...@harman.com>: > Hi > > There's no compilation option to get something to skip verification, the > verification is a setting within the FP/AIR runtime itself and it's always > set to verify on a function-by-function basis when a function is first used; > a class definition is treated as a function here as is the main script within > a swf that defines the classes it contains (take a look at the decompiler > output from SwfInvestigator to see what it's actually doing..). For more > details on verification you can always look at the source code for the > ActionScript virtual machine on github... > > When you're using libraries that don't contain the code themselves but your > application is referencing these classes - and if those libraries then can't > be loaded or are different from the ones you compiled against - then you can > get verify errors. > > In terms of your initial query at the bottom of this email chain: > 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. > > When the working code runs, you can be sure that before it gets to the > creation of the GravitySparkApplication class, it already knows about the > definition for spark.components.Application from somewhere, presumably from > the RSLs that are loaded. > > So within your mechanism, you'll need to know what the dependencies are and > make sure you load the appropriate RSL file... you can perhaps catch the > first VerifyError and examine it to see what class definition it's missing, > and then load in the definitions before re-trying? Bit of a hacky method > though! > > HTH > > thanks > > Andrew > > -----Original Message----- > From: Ramazan Ergüder Bekrek <e.bek...@yandex.com> > Sent: 19 July 2019 13:58 > To: users@royale.apache.org > Subject: [EXTERNAL] Re: How to compile an SWF to bypass any VerifyError for > non-existing classes inside of that SWF > > Can somebody ask Adobe's team to provide the compilation-config.xml file so > that I can reproduce the same behavior from skipping the VerifyError messages > that I get? > > 18.07.2019, 13:02, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com>: >> What I did is to download the latest Apache Flex SDK like described here : >> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fflex.apache.org%2Fdev-sourcecode.html&data=02%7C01%7Caharui%40adobe.com%7C1e502d27fadb4bcff46108d70d347195%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636992391214148244&sdata=SO0Y5DrgSD4acY6P2tLZEc4TjzoDXWY4bZOjTSbjmWw%3D&reserved=0 >> >> I modified the mx.managers.SystemManager like the following: >> >> mx_internal function initialize():void >> { >> var runtimeDPIProviderClass:Class = info()["runtimeDPIProvider"] as >> Class; >> if (runtimeDPIProviderClass) >> Singleton.registerClass("mx.core::RuntimeDPIProvider", >> runtimeDPIProviderClass); >> >> if (isStageRoot) >> { >> // TODO: Finalize scaling behavior >> Stage_resizeHandler(); >> // _width = stage.stageWidth; >> // _height = stage.stageHeight; >> } >> else >> { >> _width = loaderInfo.width; >> _height = loaderInfo.height; >> } >> >> // Create an instance of the preloader and add it to the stage >> preloader = new Preloader(); >> >> // Listen for preloader events >> // preloader notifes when it is ok to go to frame2 >> preloader.addEventListener(FlexEvent.PRELOADER_DOC_FRAME_READY, >> preloader_preloaderDocFrameReadyHandler); >> // wait for a complete event. This gives the preloader >> // a chance to load resource modules before >> // everything really gets kicked off >> preloader.addEventListener(Event.COMPLETE, >> preloader_completeHandler); >> // when the app is fully backed remove the preloader and show the >> app >> preloader.addEventListener(FlexEvent.PRELOADER_DONE, >> preloader_preloaderDoneHandler); >> preloader.addEventListener(RSLEvent.RSL_COMPLETE, >> preloader_rslCompleteHandler); >> >> // Add the preloader as a child. Use backing variable because when >> loaded >> // we redirect public API to parent systemmanager >> if (!_popUpChildren) >> { >> _popUpChildren = new SystemChildrenList( >> this, new QName(mx_internal, "noTopMostIndex"), new >> QName(mx_internal, "topMostIndex")); >> } >> _popUpChildren.addChild(preloader); >> >> var rsls:Array = info()["rsls"]; >> var cdRsls:Array = info()["cdRsls"]; >> var usePreloader:Boolean = true; >> if (info()["usePreloader"] != undefined) >> usePreloader = info()["usePreloader"]; >> >> var preloaderDisplayClass:Class = info()["preloader"] as Class; >> >> // Put cross-domain RSL information in the RSL list. >> var rslItemList:Array = []; >> var n:int; >> var i:int; >> if (cdRsls && cdRsls.length > 0) >> { >> if (isTopLevel()) >> rslDataList = cdRsls; >> else >> rslDataList = LoaderUtil.processRequiredRSLs(this, cdRsls); >> >> var normalizedURL:String = >> LoaderUtil.normalizeURL(this.loaderInfo); >> var crossDomainRSLItem:Class = getRSLItemDefinitionClass(); >> n = rslDataList.length; >> for (i = 0; i < n; i++) >> { >> var rslWithFailovers:Array = rslDataList[i]; >> >> // If crossDomainRSLItem is null, then this is a compiler >> error. It should not be null. >> var cdNode:Object = instanciateRSLItem(crossDomainRSLItem, >> rslWithFailovers, normalizedURL, this); >> rslItemList.push(cdNode); >> } >> } >> >> // Append RSL information in the RSL list. >> if (rsls != null && rsls.length > 0) >> { >> if (rslDataList == null) >> rslDataList = []; >> >> if (normalizedURL == null) >> normalizedURL = LoaderUtil.normalizeURL(this.loaderInfo); >> >> n = rsls.length; >> for (i = 0; i < n; i++) >> { >> var node:RSLItem = new >> RSLItem(rsls[i].url,normalizedURL,this); >> rslItemList.push(node); >> rslDataList.push([new RSLData(rsls[i].url, null, null, null, >> false, false, "current")]); >> } >> } >> >> // They can also specify a comma-separated list of URLs >> // for resource modules to be preloaded during frame 1. >> var resourceModuleURLList:String = >> loaderInfo.parameters["resourceModuleURLs"]; >> var resourceModuleURLs:Array = >> resourceModuleURLList ? resourceModuleURLList.split(",") : null; >> >> var domain:ApplicationDomain = >> !topLevel && parent is Loader ? >> Loader(parent).contentLoaderInfo.applicationDomain : >> info()["currentDomain"] as ApplicationDomain; >> >> // Initialize the preloader. >> preloader.initialize( >> usePreloader, >> preloaderDisplayClass, >> preloaderBackgroundColor, >> preloaderBackgroundAlpha, >> preloaderBackgroundImage, >> preloaderBackgroundSize, >> isStageRoot ? stage.stageWidth : loaderInfo.width, >> isStageRoot ? stage.stageHeight : loaderInfo.height, >> null, >> null, >> rslItemList, >> resourceModuleURLs, >> domain); >> } >> >> protected function getRSLItemDefinitionClass():Class{ >> return >> Class(getDefinitionByName("mx.core::CrossDomainRSLItem")); >> } >> >> protected function instanciateRSLItem(clazz:Class, >> rslWithFailovers:Array, rootURL:String=null, >> moduleFactory:IFlexModuleFactory=null):RSLItem{ >> return new clazz(rslWithFailovers, rootURL, moduleFactory); >> } >> >> To test if my modification works I recompiled the whole SDK and changed my >> GravitySystemManager class like the following: >> >> .... >> >> public class GravitySystemManager extends SystemManager implements >> IBundleActivator >> { >> >> .... >> .... >> .... >> >> override protected function getRSLItemDefinitionClass():Class{ >> return >> Class(getDefinitionByName("mx.core::NetworkCrossDomainRSLItem")); >> } >> >> override protected function instanciateRSLItem(clazz:Class, >> rslWithFailovers:Array, rootURL:String=null, >> moduleFactory:IFlexModuleFactory=null):RSLItem{ >> return new clazz(_AppPath, _appConfigs, rslWithFailovers, >> rootURL, this) as NetworkCrossDomainRSLItem; >> } >> >> I am still getting this VerifyError erro flooding: >> >> [SWF] Multiverses.swf/[[DYNAMIC]]/1/[[DYNAMIC]]/2/[[DYNAMIC]]/4 - 424,247 >> bytes after decompression >> VerifyError: Error #1053: Illegal override of getRSLItemDefinitionClass in >> _gravity_shared_flex_com_adobe_gravity_internals_flex_ui_GravitySystemManager. >> ReferenceError: Error #1065: Variable >> _gravity_shared_flex_com_adobe_gravity_internals_flex_ui_GravitySystemManager >> is not defined. >> VerifyError: Error #1014: Class spark.components::Application could not be >> found. >> VerifyError: Error #1014: Class >> com.adobe.gravity.internals.flex.ui::GravitySparkApplication could not be >> found. >> VerifyError: Error #1014: Class mx.core::UIComponent could not be found. >> VerifyError: Error #1014: Class >> com.adobe.gravity.flex.serviceloader::UIServiceBase could not be found. >> VerifyError: Error #1014: Class >> com.adobe.gravity.internals.flex.ui::GravityApplication could not be found. >> VerifyError: Error #1014: Class mx.core::UIComponent could not be found. >> VerifyError: Error #1014: Class mx.managers::SystemManagerProxy could not >> be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragReject_882911133 >> is not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_mx_skins_cursor_HBoxDivider_1901584628 >> is not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_mx_skins_BoxDividerSkin_1057002641 is >> not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragCopy_604341401 is >> not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_CloseButtonUp_41453136 is not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_BusyCursor_286161967 >> is not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_mx_containers_FormItem_Required_2056852568 >> is not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_assets_ErrorIndicator_png__1935102536_672265556 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_CloseButtonDisabled_1398239983 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_TreeFolderClosed_963887731 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_mx_skins_cursor_VBoxDivider_601492146 >> is not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_cursorStretch_1945791990 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_TreeDisclosureClosed_1645126974 is >> not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_TreeNodeIcon_1012233620 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragMove_604628981 is >> not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragLink_604603406 is >> not defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_CloseButtonOver_1031431481 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_TreeFolderOpen_1621478815 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_assets_CalendarIcon_png_1969319625_1360189988 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_TreeDisclosureOpen_2060449952 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__509536564___brokenImage_859899623 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_Assets_swf__374270191_CloseButtonDown_1195601447 is not >> defined. >> ReferenceError: Error #1065: Variable >> _class_embed_css_assets_RequiredIndicator_png__783798379_1938314947 is not >> defined. >> >> 18.07.2019, 12:45, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com>: >>> Could it be one of the following advanced compiler options? >>> >>> -externs [symbol] [...] >>> a list of symbols to omit from linking when >>> building a SWF (advanced, >>> repeatable) >>> -frames.frame [label] [classname] [...] >>> alias -frame >>> A SWF frame label with a sequence of classnames >>> that will be linked >>> onto the frame. (advanced, repeatable) >>> -help [keyword] [...] >>> keywords are 'syntax', 'list', 'advanced', >>> 'aliases', 'details', or a >>> search term >>> -include-classes [class] [...] >>> alias -ic >>> a list of classes to include in the output SWC >>> (repeatable, default >>> variable) >>> -include-file <name> <path> >>> alias -if >>> a list of named files to include in the output >>> SWC (repeatable) >>> -include-lookup-only >>> if true, manifest entries with lookupOnly=true >>> are included in SWC >>> catalog. Default is false. (advanced) >>> -include-namespaces [uri] [...] >>> alias -in >>> all classes in the listed namespaces are included >>> in the output SWC >>> (repeatable) >>> -include-resource-bundles [bundle] [...] >>> alias -ir >>> a list of resource bundles to include in the >>> output SWC (repeatable) >>> -include-sources [path-element] [...] >>> alias -is >>> a list of directories and source files to include >>> in the output SWC >>> (repeatable) >>> -include-stylesheet <name> <path> >>> a list of named stylesheet resources to include >>> in the output SWC >>> (repeatable) >>> -includes [symbol] [...] >>> a list of symbols to always link in when building >>> a SWF (advanced, >>> repeatable) >>> -licenses.license <product> <serial-number> >>> alias -license >>> specifies a product and a serial number. >>> (repeatable) >>> -link-report <filename> >>> Output a XML-formatted report of all definitions >>> linked into the >>> application. (advanced) >>> -load-config <filename> >>> load a file containing configuration options >>> (repeatable) >>> -load-externs <filename> >>> an XML file containing <def>, <pre>, and <ext> >>> symbols to omit from >>> linking when building a SWF (advanced, repeatable) >>> -runtime-shared-libraries [url] [...] >>> alias -rsl >>> a list of runtime shared library URLs to be >>> loaded before the >>> application starts (repeatable) >>> -runtime-shared-library-path [path-element] [rsl-url] >>> [policy-file-url] [rsl-url] [policy-file-url] >>> alias -rslp >>> (repeatable) >>> -static-link-runtime-shared-libraries >>> alias -static-rsls >>> statically link the libraries specified by the >>> -runtime-shared-libraries-path option. >>> >>> 18.07.2019, 12:40, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com>: >>>> Here are the release and debug versions of the file in question. >>>> >>>> >>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgofile.io%2F%3Fc%3DNjkheb&data=02%7C01%7Caharui%40adobe.com%7C1e502d27fadb4bcff46108d70d347195%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636992391214148244&sdata=%2Fka3wmfpsupGwrOGEtIHFIjSalV0f22GPtwnrIihxi0%3D&reserved=0 >>>> >>>> 18.07.2019, 12:28, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com>: >>>>> Does anybody have contact to someone at Adobe who can give us the >>>>> source code of that file so that we can understand this mistery cause I'm >>>>> trying to figure this out since 2 years now? >>>>> >>>>> 18.07.2019, 12:21, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com>: >>>>>> I found this page with all the compiler options. Which one of those >>>>>> options is responsible for bypassing the VerifyError that I get. >>>>>> >>>>>> >>>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.docsultant.com%2Fsite2%2Farticles%2Fflex_cmd.html%23compc_3_opt&data=02%7C01%7Caharui%40adobe.com%7C1e502d27fadb4bcff46108d70d347195%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636992391214148244&sdata=6K8%2FWb6r3xMy44bg4kOxvO1ErDg%2BNLG3uy%2Bwn0kPjDk%3D&reserved=0 >>>>>> >>>>>> VerifyError: Error #1053: Illegal override of >>>>>> getRSLItemDefinitionClass in >>>>>> _gravity_shared_flex_com_adobe_gravity_internals_flex_ui_GravitySystemManager. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _gravity_shared_flex_com_adobe_gravity_internals_flex_ui_GravitySystemManager >>>>>> is not defined. >>>>>> VerifyError: Error #1014: Class spark.components::Application could >>>>>> not be found. >>>>>> VerifyError: Error #1014: Class >>>>>> com.adobe.gravity.internals.flex.ui::GravitySparkApplication could not >>>>>> be found. >>>>>> VerifyError: Error #1014: Class mx.core::UIComponent could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class >>>>>> com.adobe.gravity.flex.serviceloader::UIServiceBase could not be found. >>>>>> VerifyError: Error #1014: Class >>>>>> com.adobe.gravity.internals.flex.ui::GravityApplication could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::UIComponent could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.managers::SystemManagerProxy >>>>>> could not be found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be >>>>>> found. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragReject_882911133 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_mx_skins_cursor_HBoxDivider_1901584628 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_mx_skins_BoxDividerSkin_1057002641 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragCopy_604341401 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_CloseButtonUp_41453136 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_BusyCursor_286161967 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_mx_containers_FormItem_Required_2056852568 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_assets_ErrorIndicator_png__1935102536_672265556 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_CloseButtonDisabled_1398239983 is >>>>>> not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_TreeFolderClosed_963887731 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_mx_skins_cursor_VBoxDivider_601492146 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_cursorStretch_1945791990 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_TreeDisclosureClosed_1645126974 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_TreeNodeIcon_1012233620 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragMove_604628981 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragLink_604603406 >>>>>> is not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_CloseButtonOver_1031431481 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_TreeFolderOpen_1621478815 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_assets_CalendarIcon_png_1969319625_1360189988 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_TreeDisclosureOpen_2060449952 is >>>>>> not defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__509536564___brokenImage_859899623 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_Assets_swf__374270191_CloseButtonDown_1195601447 is not >>>>>> defined. >>>>>> ReferenceError: Error #1065: Variable >>>>>> _class_embed_css_assets_RequiredIndicator_png__783798379_1938314947 is >>>>>> not defined. >>>>>> >>>>>> 18.07.2019, 08:11, "Alex Harui" <aha...@adobe.com>: >>>>>>> I'm not sure the Decompiler fully answers the question. SWFDump >>>>>>> would be better, maybe it is having problems with spaces in path names >>>>>>> or with JAVA_TOOL_OPTIONS not setting the default file encoding to >>>>>>> UTF-8. >>>>>>> >>>>>>> The goal is to see which scripts are on which frame, and maybe >>>>>>> look at the code itself to see why it may not try to verify the >>>>>>> Application class. >>>>>>> >>>>>>> -Alex >>>>>>> >>>>>>> ?On 7/17/19, 8:31 PM, "Ramazan Ergüder Bekrek" >>>>>>> <e.bek...@yandex.com> wrote: >>>>>>> >>>>>>> Here is a 2 frames view of JPEXS Decompiler : >>>>>>> >>>>>>> >>>>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpasteboard.co%2FIoumcP0.png&data=02%7C01%7Caharui%40adobe.com%7C1e502d27fadb4bcff46108d70d347195%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636992391214148244&sdata=ZjqBsoZbnZQes5Aq4lFs5rGasZwbFwqB3XwmdnisZgM%3D&reserved=0 >>>>>>> >>>>>>> 18.07.2019, 05:28, "Ramazan Ergüder Bekrek" >>>>>>> <e.bek...@yandex.com>: >>>>>>> > This is what I get: >>>>>>> > >>>>>>> > swfdump -abc gravity_shared_flex-flex450.swf >>>>>>> > Error: Could not find or load main class 4.16.1 >>>>>>> > >>>>>>> > 18.07.2019, 03:40, "Alex Harui" <aha...@adobe.com>: >>>>>>> >> RSL Loaders might be two-frame SWFs where the first frame >>>>>>> loads the RSLs before switching to the second frame. >>>>>>> >> >>>>>>> >> Run swfdump -abc on the one that works and see if it is >>>>>>> multi-frame. >>>>>>> >> >>>>>>> >> HTH, >>>>>>> >> -Alex >>>>>>> >> >>>>>>> >> ?On 7/17/19, 5:51 PM, "Ramazan Ergüder Bekrek" >>>>>>> <e.bek...@yandex.com> wrote: >>>>>>> >> >>>>>>> >> In my case I get a VerifyError when ever I compile a >>>>>>> release version of my custom RSLs loader which in it has a reference to >>>>>>> spark application which cannot be used because once all the RSLs are >>>>>>> loader including framework.swf then the class definition for >>>>>>> sparks.components.Application can be added added. Somehow the version >>>>>>> of gravity_shared_flex.swf from Adobe doesn't have that VerifiyError >>>>>>> issue. >>>>>>> >> >>>>>>> >> 18.07.2019, 00:35, "Alex Harui" <aha...@adobe.com>: >>>>>>> >> > 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&data=02%7C01%7Caharui%40adobe.com%7C1e502d27fadb4bcff46108d70d347195%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636992391214148244&sdata=zfR%2FbM38Wln%2FdCbNKvfBXP7DNAj7hdbcTRegMxn8paY%3D&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.