1 Reply Latest reply on Feb 5, 2008 9:22 AM by Flex harUI

    Decompiling Flex App

    LeoRenoWorks Level 1
      Is it possible to decompile a flex 3 app? If so what are some examples of decompilers that do this. How do I protect my companies source code and Data so that our competitors can not decompile our application?
        • 1. Re: Decompiling Flex App
          Flex harUI Adobe Employee
          It is possible to disassemble a swf, but the resulting bytecode is still hard to read, especially if you don't have debug info in the swf. Lots of private variable names go away in a release swf.

          Below is an excerpt of a systemmanager method:
          D0 getlocal0
          46 9D 01 00 callproperty :info (0)
          80 01 coerce :Object
          D5 setlocal1
          F0 9A 12 debugline 2330
          60 C0 01 getlex private:topLevel
          96 not
          2A dup
          12 08 00 00 iffalse L0

          29 pop
          60 92 07 getlex :parent
          60 D2 04 getlex flash.display:Loader
          B3 istypelate
          12 19 00 00 L0: iffalse L1

          F0 9B 12 debugline 2331
          5D D2 04 findpropstrict flash.display:Loader
          60 92 07 getlex :parent
          46 D2 04 01 callproperty flash.display:Loader (1)
          66 A0 07 getproperty :contentLoaderInfo
          66 E1 04 getproperty :applicationDomain
          80 1D coerce flash.system:ApplicationDomain
          10 0C 00 00 jump L2
          F0 9C 12 L1: debugline 2332
          D1 getlocal1
          2C C3 0D pushstring "currentDomain"
          66 80 07 getproperty private,,mx.managers,mx.managers:SystemManager,mx.managers:SystemManager,flash.display:Mo vieClip,flash.display:Sprite,flash.display:DisplayObjectContainer,flash.display:Interactiv eObject,flash.display:DisplayObject,flash.events:EventDispatcher,Object,mx.core:IChildList ,mx.core:IFlexDisplayObject,mx.core:IFlexModuleFactory,mx.managers:ISystemManager,flash.di splay:IBitmapDrawable,flash.events:IEventDispatcher:null
          80 1D coerce flash.system:ApplicationDomain
          80 1D L2: coerce flash.system:ApplicationDomain
          D6 setlocal2
          F0 9F 12 debugline 2335
          D1 getlocal1
          2C 99 01 pushstring "compiledLocales"