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