ASV, UAE, ASR 5.25 updates released!

These updates mainly enhance the decompile engine and fix some bugs. (No CS3/AS3 support yet, it will come with 6th versions and ASV 6 is expected to be available by July 16th, 2007).

I will keep this post short. ASV license owners: if you are also using SWF Encrypt 4, please test your protected SWFs with the updated version (and let us know if you find a bug). Thanks.

(We think most probably these will be last 5.x updates for ASV, UAE and ASR. Not that we won’t release updates if a serious bug is found. May 16th is ASV’s 7th anniversary, and I tend to think it would be a nice coincidence to have the final 5.x version released on that day…).

This entry was posted in Flash, MG.

2 Responses to ASV, UAE, ASR 5.25 updates released!

  1. Nghia says:

    Yes, I use both ASV 5.27 and SWF Encrypt 4.0.
    When use ASV 5.27 on protected swf file, the following bugs occur:
    #initclip
    // unexpected jump
    for(;;){
    if (!\x01["\x02"]) {
    var _local1 = function () {
    super();
    this["\x03"] = 50;
    this["\x04"] = 0;
    };
    \x01["\x02"] = _local1;
    //\x01["\x02"] extends !ERROR!
    var _local2 = _local1["!ERROR!"];
    _local2["!ERROR!"] = function (val) {
    this["\x03"] = val;
    for (var _local3 in this) {
    this[_local3]["!ERROR!"].!ERROR!(val);
    }
    };
    _local2["!ERROR!"] = function () {
    for (var _local2 in this) {
    trace(_local2 + “!ERROR!”);
    this[_local2]["!ERROR!"].!ERROR!();
    this[_local2].!ERROR!();
    }
    };
    _local2["!ERROR!"] = function (sound, pan, loop) {
    pan = ((pan == undefined) ? 50 : (pan));
    if (this["\x03"] > 0) {
    this["\x04"]++;
    var _local2 = this.!ERROR!(“!ERROR!” + this["\x04"], this.!ERROR!());
    _local2["!ERROR!"] = new !ERROR!(_local2);
    _local2["!ERROR!"].!ERROR!(sound);
    _local2["!ERROR!"].!ERROR!(this["\x03"]);
    _local2["!ERROR!"].!ERROR!(pan);
    _local2["!ERROR!"]["!ERROR!"] = this;
    _local2["!ERROR!"]["!ERROR!"] = _local2;
    _local2["!ERROR!"] = loop;
    _local2["!ERROR!"]["!ERROR!"] = _local2;
    _local2["!ERROR!"]["\x04"] = this["\x04"];
    if (loop == true) {
    _local2["!ERROR!"].!ERROR!(0, 1000000);
    } else {
    _local2["!ERROR!"]["!ERROR!"] = function () {
    this["!ERROR!"].!ERROR!();
    };
    _local2["!ERROR!"].!ERROR!();
    }
    if (this["!ERROR!" + (this["\x04"] – 100)]["!ERROR!"] != true) {
    delete this["!ERROR!" + (this["\x04"] – 100)]["!ERROR!"];
    this["!ERROR!" + (this["\x04"] – 100)].!ERROR!();
    }
    return(_local2["!ERROR!"]);
    }
    };
    (!ERROR!(\x01["\x02"]["!ERROR!"], null, 1));// not popped
    }
    if (false) {
    }
    // unexpected jump
    };
    #endinitclip

  2. Hi,
    (Note: ASV 5.27 does not have any decompiler enhancements, so against obfuscations it’s the same as ASV 5.25).
    At the time of ASV 5.25 release,SWF Encrypt 4 versions available were 4.0, 4.01 and 4.02. ASV 5.25 bypasses those obfuscations. Shortly after ASV 5.25 was released SWF Encrypt 4.03 was released and they now have SWF Encrypt 4.04.
    This was expected and we will not bypass 4.03-4.04 obfuscations before 3 months.
    You can send us the SWF for testing. If SWF Encrypt 4.0, 4.01 or 4.02 was used to obfuscate the file, and this is a bug with our software, we will fix it promptly. If the SWF was obfuscated by SWF Encrypt 4.03-4.04 then this is normal.
    Thanks.
    Best regards,
    Burak