fyi

You might want to be careful about decompiling and distributing content that you don't necessarily have the rights to decompile and redistribute.

(unless of course you got permission from the content creator to redistribute their content).

mike chambers

[EMAIL PROTECTED]

David Rorex wrote:
On 8/29/05, Geoff Stearns <[EMAIL PROTECTED]> wrote:

url doesn't work for me either... got a working one?

Taggart, Damian wrote:

http://mm-en.com/damian/blog/src/autoUpdater.as

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Geoff Stearns
Sent: Monday, August 29, 2005 9:49 AM
To: Open Source Flash Mailing List
Subject: [osflash] decompiling the expressinstall updater

has anyone taken a look at the express install updater swf in an
actionscript viewer or othwerwise decompiled it to see what makes it
tick?

might be interesting to see how they trigger the upgrade proccess.

http://fpdownload.macromedia.com/pub/flashplayer/update/current/swf/auto
Updater.swf


_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org



------------------------------------------------------------------------

Action Script Viewer 4.086
autoUpdater.swf

SWF version : 6
Compressed  : Yes
Width       : 215
Height      : 138
Frame rate  : 12
Frame count : 1
Background color   : #FFFFFF
Bounding rectangle : (0,0) (215,138)
Center             : (107.5,69)

----------------------------------------------------------------------
Frame 1
----------------------------------------------------------------------
   function initOldPlayerDialog() {
       if (DEBUG) {
           valueText.text = valueText.text + "\ninitOldPlayerDialog";
       }
       this.attachMovie("block", "blocker", 12000);
       blocker._width = 10000;
       blocker._height = 10000;
       blocker.useHandCursor = false;
       this.attachMovie("blockerText", "blockerText", 12001);
       this.blockerText.blockerTextObj.html = true;
       var localizedText_en = "Express Install is not supported by this version of the Flash Player. To upgrade, please 
visit:<BR><FONT COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player 
Download Center.</A></U></FONT>";
       var localizedText_de = "Eine Express-Installation wird von dieser Flash Player-Version nicht unterstützt. Für eine 
Aktualisierung besuchen Sie bitte das <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player Download-Center.</A></U></FONT>";
       var localizedText_fr = "L\'installation expresse n\'est pas prise en charge par cette version de Flash Player. Pour 
procéder à la mise à niveau, consultez le <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Centre de téléchargement de Macromedia Flash 
Player.</A></U></FONT>";
       var localizedText_es = "En esta versión de Flash Player no se admite la instalación rápida. Para obtener una 
actualización, visite el <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Centro de descargas de Flash Player.</A></U></FONT>";
       var localizedText_it = "L\'installazione rapida non è supportata in questa versione di Flash Player. Per effettuare 
l\'aggiornamento, visitare il <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Centro Download di Flash Player.</A></U></FONT>";
       var localizedText_jp = "???????? Flash Player ??????????????????????????????????????????????????????<BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/go/getflashplayer_jp\'>Flash Player 
??????????</A></U></FONT>";
       var localizedText_ko = "? ??? Flash Player??? Express ??? ???? ????. ???????? <BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player ???? 
??</A></U></FONT>? ??????.";
       var localizedText_cn = "??? Flash PLayer ????????????,??? <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player ?????</A></U></FONT>";
       var localizedText_tw = "?????????????? Flash Player???? <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player ?????</A></U></FONT>";
       var langText = eval ("localizedText_" + updateLang);
       this.blockerText.blockerTextObj.htmlText = langText;
       blocker.onPress = function () {
       };
   }
   function initUnsupportedDialog() {
       if (DEBUG) {
           valueText.text = valueText.text + "\ninitUnsupportedDialog";
       }
       this.attachMovie("block", "blocker", 12000);
       blocker._width = 10000;
       blocker._height = 10000;
       blocker.useHandCursor = false;
       this.attachMovie("blockerText", "blockerText", 12001);
       this.blockerText.blockerTextObj.html = true;
       var localizedText_en = "You are trying to install Macromedia Flash Player 8 on an unsupported operating system. For system requirements, please visit:<BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/software/flashplayer/productinfo/systemreqs/\'>Flash Player System 
Requirements.</A></U></FONT><BR><BR>For Flash Player 7, please visit:<BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player Download Center.</A></U></FONT>";
       var localizedText_de = "Sie versuchen gerade, Macromedia Flash Player 8 auf einem nicht unterstützten Betriebssystem zu installieren. Die Systemvoraussetzungen finden Sie 
auf der Seite <BR><FONT COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/software/flashplayer/productinfo/systemreqs/\'>Flash 
Player-Systemvoraussetzungen.</A></U></FONT><BR><BR>Die Voraussetzungen für Flash Player 7 finden Sie auf der Seite <BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/go/getflashplayer_de\'>Flash Player Download-Center.</A></U></FONT>";
       var localizedText_fr = "Votre système d\'exploitation ne prend pas en charge Macromedia Flash Player 8. Pour prendre connaissance de la configuration requise, consultez la 
page<BR><FONT COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/software/flashplayer/productinfo/systemreqs/\'>Configuration système requise pour Flash 
Player.</A></U></FONT><BR><BR>Pour Flash Player 7, consultez la page<BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Centre de téléchargement de Macromedia Flash Player.</A></U></FONT>";
       var localizedText_es = "Está intentando instalar Macromedia Flash Player 8 en un sistema operativo no admitido. Para ver los requisitos del sistema, visite  
<BR><FONT COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/software/flashplayer/productinfo/systemreqs/\'>Requisitos del sistema para Flash 
Player.</A></U></FONT><BR><BR>Para Flash Player 7, visite el <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Centro de descargas de Flash Player.</A></U></FONT>";
       var localizedText_it = "Si sta tentando di installare Macromedia Flash Player 8 in un sistema operativo non supportato. Per conoscere i requisiti di sistema, consultare i 
<BR><FONT COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/software/flashplayer/productinfo/systemreqs/\'>Requisiti di sistema di Flash 
Player.</A></U></FONT><BR><BR>Per Flash Player 7, visitare il <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer\'>Centro Download di Macromedia Flash Player.</A></U></FONT>";
       var localizedText_jp = "???????????????????????? Macromedia Flash Player 8 ?????????????????????????????????????????????<BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/jp/software/flashplayer/productinfo/systemreqs/\'>Flash Player 
?????????</A></U></FONT><BR><BR>Flash Player 7 ????????????????????????<BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/go/getflashplayer_jp\'>Flash Player ??????????</A></U></FONT>";
       var localizedText_ko = "?? ?? ?? ?? ????? Macromedia Flash Player 8? ??? ???? ????. ??? ?? ??? ??? <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/software/flashplayer/productinfo/systemreqs/\'>Flash Player ??? ?? ??</A></U></FONT>? ??????.<BR><BR>Flash Player 7? ?? 
??? ??? ???<BR><FONT COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player ???? ??</A></U></FONT>? 
??????.";
       var localizedText_cn = "???????????? Macromedia Flash Player 8??????????,??? <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/software/flashplayer/productinfo/systemreqs/\'>Flash Player ?????</A></U></FONT><BR><BR>?? Flash Player 7 ???,??? 
<BR><FONT COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player ?????</A></U></FONT>";
       var localizedText_tw = "?????? Flash Player 8 ???? Flash Player 8 ?????????????????,??? <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/software/flashplayer/productinfo/systemreqs/\'>Flash Player ?????</A></U></FONT><BR><BR>???? Flash Player 7 ??,??? 
<BR><FONT COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/go/getflashplayer\'>Flash Player ?????</A></U></FONT>";
       var langText = eval ("localizedText_" + updateLang);
       this.blockerText.blockerTextObj.htmlText = langText;
       blocker.onPress = function () {
       };
   }
   function initCompletionDialog() {
       var i = 0;
       this.onEnterFrame = function () {
           if (i == 58) {
               this.attachMovie("block", "blocker", 12000);
               blocker._width = 10000;
               blocker._height = 10000;
               blocker.useHandCursor = false;
               this.attachMovie("blockerText", "blockerText", 12001);
               this.blockerText.blockerTextObj.html = true;
               var localizedText_en = "Please close this browser window to complete Flash Player installation.<BR><BR>If you 
are experiencing problems with installation please visit the <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/support/flashplayer/\'>Macromedia Flash Player Support Center.</A></U></FONT>";
               var localizedText_de = "Schließen Sie dieses Browserfenster, um die Flash Player-Installation 
abzuschließen.<BR><BR>Falls Sie Probleme bei der Installation haben, besuchen Sie bitte das <BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/support/flashplayer/\'>Macromedia Flash Player Support 
Center.</A></U></FONT>";
               var localizedText_fr = "Pour terminer l’installation de Flash Player, vous devez fermer ce 
navigateur.<BR><BR>En cas de problèmes d’installation, visitez le <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/support/flashplayer/\'>Centre d’assistance de Macromedia Flash 
Player.</A></U></FONT>";
               var localizedText_es = "Cierre esta ventana del navegador para completar la instalación de Flash 
Player.<BR><BR>Si tiene problemas con la instalación, visite el <BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/support/flashplayer/\'>Centro de soporte de Macromedia Flash Player.</A></U></FONT>";
               var localizedText_it = "Chiudere la finestra del browser per completare l\'installazione di Flash 
Player.<BR><BR>Se si riscontrano problemi durante l\'installazione, visitare il <BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/support/flashplayer/\'>Centro di supporto per Macromedia Flash 
Player.</A></U></FONT>";
               var localizedText_jp = "????????????????Flash Player 
?????????????????<BR><BR>???????????????????<BR><FONT COLOR=\'#0000FF\'><U><A 
HREF=\'http://www.macromedia.com/jp/support/flashplayer/\'>Macromedia Flash Player 
????????</A></U></FONT>????????????";
               var localizedText_ko = "Flash Player ??? ????? ? ????? ?????.<BR><BR>?? ? ??? ??? ?? <BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/support/flashplayer/\'>Macromedia Flash Player ?? 
??</A></U></FONT>? ??????.";
               var localizedText_cn = "???????????? Flash Player ???<BR><BR>???????????,???<BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/support/flashplayer/\'>Macromedia Flash Player 
?????</A></U></FONT>";
               var localizedText_tw = "??????????? Flash Player????<BR><BR>???????????,??? <BR><FONT 
COLOR=\'#0000FF\'><U><A HREF=\'http://www.macromedia.com/support/flashplayer/\'>Macromedia Flash 
?????</A></U></FONT>";
               var langText = eval ("localizedText_" + updateLang);
               this.blockerText.blockerTextObj.htmlText = langText;
               blocker.onPress = function () {
               };
           }
           i++;
       };
   }
   function checkPlayer() {
       var _local2 = System.capabilities.os;
       if (DEBUG) {
           valueText.text = valueText.text + ("\nOS=" + _local2);
       }
       if (DEBUG) {
           valueText.text = valueText.text + ("  OSSub=" + _local2.substring(0, 
5));
       }
       var _local5 = System.capabilities.version;
       var _local7 = _local5.split(",")[2];
       var _local3 = _local5.split(",")[0];
       var _local4 = _local3.substring(0, _local3.indexOf(" ")).toLowerCase();
       var _local1 = 0;
       if (_local4 == "MAC") {
           var _local6 = _local2.substr(7, 2);
           if (DEBUG) {
               valueText.text = valueText.text + (("\nMac VERSION=" + _local6) 
+ newline);
           }
           if (_local6 < 10) {
               if (DEBUG) {
                   valueText.text = valueText.text + "Mac OS Classic is 
Unsupported\n";
               }
               _local1 = kUnsupportedPlayer;
           }
       } else {
           if (_local2 == "Windows NT") {
               _local1 = kUnsupportedPlayer;
           }
           if (_local2 == "Windows 95") {
               _local1 = kUnsupportedPlayer;
           }
           if (((_local2.substring(0, 5) == "Linux") || (_local4 == "lnx")) || (_local4 
== "lin")) {
               _local1 = kOldPlayer;
           }
           if (_local2.substring(0, 3) == "UNIX") {
               _local1 = kOldPlayer;
           }
        }
       _local3 = _local3.substr(_local3.indexOf(" ") + 1);
       var _local8 = 6;
       var _local9 = 65;
       if ((_local7 < _local9) && (_local3 <= _local8)) {
           _local1 = kOldPlayer;
       }
       return (_local1);
   }
   function checkServerVersion() {
       var _local10 = System.capabilities.version;
       var _local13 = _local10.split(",")[2];
       var _local11 = _local10.split(",")[0];
       var _local8 = _local11.substring(0, _local11.indexOf(" ")).toLowerCase();
       if (DEBUG) {
           valueText.text = valueText.text + (("platform=" + _local8) + 
newline);
       }
       var _local4 = System.capabilities.playerType;
       if (_local4 == undefined) {
           _local4 = _root.MMplayerType;
       }
       if (DEBUG) {
           valueText.text = valueText.text + (("PLAYERTYPE=" + _local4) + 
newline);
       }
       if (DEBUG) {
           valueText.text = valueText.text + (("doctitle=" + MMdoctitle) + 
newline);
       }
       if ((_local4 == "External") || (_local4 == "StandAlone")) {
           return (undefined);
       }
       if (_local4 == "ActiveX") {
           pt = "ax";
       }
       if (_local4 == "PlugIn") {
           pt = "pl";
       }
       var _local12 = Math.random();
       var _local9 = (((((("http://fpdownload.macromedia.com/get/flashplayer/update/maelstrom/xml/version_"; + 
updateLang) + "_") + _local8) + "_") + pt) + ".xml?") + _local12;
       if (DEBUG) {
           _local9 = (((((("http://lab1.macromedia.com/pub/flashplayer/update/current/xml/version_"; + 
updateLang) + "_") + _local8) + "_") + pt) + ".xml?") + _local12;
       }
       if (DEBUG) {
           valueText.text = valueText.text + (("gVersionURL=" + _local9) + 
newline);
       }
       gXML = new XML ();
       gXML.ignoreWhite = true;
       gXML.onLoad = function (success) {
           if (success) {
               var _local4 = ClientVersion();
               var _local5 = ServerVersion(this);
               var _local2 = _local4.length;
               if ((_local2 != 4) || (_local2 != _local5.length)) {
                   return (undefined);
               }
               var _local3 = false;
               i = 0;
               while (i < _local2) {
                   if (_local5[i] > _local4[i]) {
                       _local3 = true;
                       break;
                   }
                   i++;
               }
               if (_local3 == true) {
                   startInstall();
               }
           } else {
               return (undefined);
            }
       };
       gXML.load(_local9);
   }
   function ClientVersion() {
       var _local1 = System.capabilities.version;
       if (DEBUG) {
           valueText.text = valueText.text + (("localVer=" + _local1) + 
newline);
       }
       _local1 = _local1.substring(_local1.indexOf(" ") + 1, _local1.length);
       return (VersionStrToArray(_local1));
   }
   function ServerVersion(rootNode) {
       var _local1 = rootNode.firstChild;
       _local1 = _local1.firstChild;
       while (_local1) {
           if (_local1.nodeName == "update") {
               if (DEBUG) {
                   valueText.text = valueText.text + (("remoteVer=" + 
_local1.attributes.version) + newline);
               }
               return (VersionStrToArray(_local1.attributes.version));
           }
           _local1 = _local1.nextSibling;
       }
       return (undefined);
   }
   function VersionStrToArray(v) {
       var _local2 = v.split(",");
       var _local3 = _local2.length;
       var _local1;
       if (_local3 != 4) {
           return (undefined);
       }
       _local1 = 0;
       while (_local1 < _local3) {
           _local2[_local1] = Number (_local2[_local1]);
           _local1++;
       }
       return (_local2);
   }
   function startInstall() {
       switch (checkPlayer()) {
case kInstallOK : if (gCanInstall) {
                   var redirectSO = SharedObject.getLocal("redirectSO", "/");
                   if (DEBUG) {
                       valueText.text = valueText.text + ("DOWNLOAD=fpUpdate_" 
+ pt);
                   }
                   installService = new System.Product("fpUpdate" + pt);
                   installService.onStatus = function (info) {
                       if (DEBUG) {
                           valueText.text = valueText.text + ((" code=" + 
info.code) + newline);
                       }
                       switch (info.code) {
case "Download.Complete" : redirectSO.data.url = redirectURL;
                               redirectSO.data.doctitle = MMdoctitle;
                               if (DEBUG) {
                                   valueText.text = valueText.text + (("SET 
redirectSO=" + redirectURL) + newline);
                               }
                               redirectSO.flush();
                               installService.launch();
                               initCompletionDialog();
                               _parent.installStatus("Download.Complete");
                               break;
case "Download.Cancelled" : redirectSO.data.url = eval("NULL");
                               redirectSO.data.doctitle = eval("NULL");
                               redirectSO.flush();
                               redirectSO.clear();
                               _parent.installStatus("Download.Cancelled");
                               if (DEBUG) {
                                   valueText.text = valueText.text + "Canceled - 
Shared Object Cleared!\n";
                               }
                               break;
case "Download.Failed" : redirectSO.data.url = eval("NULL");
                               redirectSO.data.doctitle = eval("NULL");
                               redirectSO.flush();
                               redirectSO.clear();
                               _parent.installStatus("Download.Failed");
                               if (DEBUG) {
                                   valueText.text = valueText.text + "Failed - 
Shared Object Cleared!\n";
                               }
                               break;
                       }
                   };
                   installService.download();
               }
               break;
case kOldPlayer : initOldPlayerDialog();
               break;
case kUnsupportedPlayer : initUnsupportedDialog();
               break;
       }
   }
   function startUpdate() {
       if (DEBUG) {
           valueText.text = valueText.text + ((newline + _url) + newline);
       }
       if (DEBUG) {
           valueText.text = valueText.text + (("REDIRECT=" + redirectURL) + 
newline);
       }
       checkServerVersion();
   }
   var DEBUG = false;
   if (DEBUG) {
       valueText.text = "Debug Mode!\n";
   }
   System.security.allowDomain(_parent._url);
   gCanInstall = false;
   kInstallOK = 0;
   kOldPlayer = 1;
   kUnsupportedPlayer = 2;
   pt = "";
   var language = System.capabilities.language;
   var updateLang = language;
   if (DEBUG) {
       valueText.text = valueText.text + (("Language=" + language) + newline);
   }
   if (language == "ja") {
       updateLang = "jp";
   }
   if (language == "zh-CN") {
       updateLang = "cn";
   }
   if (language == "zh-TW") {
       updateLang = "tw";
   }
   if (language == "en-US") {
       updateLang = "en";
   }
   if (language == "sv") {
       updateLang = "en";
   }
   if (language == "pt") {
       updateLang = "en";
   }
   if (language == "pl") {
       updateLang = "en";
   }
   if (language == "hu") {
       updateLang = "en";
   }
   if (language == "cs") {
       updateLang = "en";
   }
   if (language == "tr") {
       updateLang = "en";
   }
   if (language == "fi") {
       updateLang = "en";
   }
   if (language == "da") {
       updateLang = "en";
   }
   if (language == "no") {
       updateLang = "en";
   }
   if (language == "nl") {
       updateLang = "en";
   }
   if (language == "ru") {
       updateLang = "en";
   }
   if (language == "xu") {
       updateLang = "en";
   }
   switch (checkPlayer()) {
case kInstallOK : gCanInstall = true;
           break;
case kOldPlayer : initOldPlayerDialog();
           gCanInstall = false;
           break;
case kUnsupportedPlayer : initUnsupportedDialog();
           gCanInstall = false;
           break;
   }
   var redirectURL = "http://www.macromedia.com/software/flash/about/";;
   stop();



----------------------------------------------------------------------
Instance Names
----------------------------------------------------------------------
"valueText"   Frame 1 Symbol 7 EditableText
"blockerTextObj"      Symbol 6 MovieClip [blockerText] Frame 1        Symbol 5 
EditableText

----------------------------------------------------------------------
Library
----------------------------------------------------------------------
Symbol 1 Graphic                Used by:2       
Symbol 2 MovieClip      Uses:1  Used by:3       
Symbol 3 MovieClip [block]      Uses:2          
Symbol 4 Font           Used by:5 7     
Symbol 5 EditableText   Uses:4  Used by:6       
Symbol 6 MovieClip [blockerText]        Uses:5          
Symbol 7 EditableText   Uses:4  Used by:Timeline        

----------------------------------------------------------------------
Special Tags
----------------------------------------------------------------------
ExportAssets (56)       Timeline Frame 1        Symbol 3 as "block"
ExportAssets (56)       Timeline Frame 1        Symbol 6 as "blockerText"


------------------------------------------------------------------------

_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org


_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to