PDA

View Full Version : Protect SWF without merging on an exe



Josué Alba
11-09-2004, 08:32 PM
Here do I let you chec this 2 files the example.swf shows a code like this with a decompiler (SWF Decompiler)


// Action script...

// [Action in Frame 1]
function move(source)
{
if (this.drag)
{
this.rotateTo(_xmouse, _ymouse, this.dist);
this.parent.rotateTo(this._x, this._y, 80);
}
else if (!this.controlled)
{
var _l4 = this._rotation * 3.141593 / 180;
this.vr = this.vr + Math.cos(_l4 - this.offset) * 5;
this.vr = this.vr * 0.930000;
this._rotation = this._rotation + this.vr;
} // end if
var _l3 = this._rotation * 3.141593 / 180;
var _l2 = 0;
while (_l2 < this.child.length)
{
this.child[_l2]._x = this._x + Math.cos(_l3) * 80;
this.child[_l2]._y = this._y + Math.sin(_l3) * 80;
this.child[_l2].move(this);
_l2++;
} // end while
} // End of the function
function rotateTo(x, y, dist)
{
var _l4 = x - this._x;
var _l3 = y - this._y;
var _l2 = Math.atan2(_l3, _l4);
this._rotation = _l2 * 180 / 3.141593;
this._x = x - dist * Math.cos(_l2);
this._y = y - dist * Math.sin(_l2);
this.parent.rotateTo(this._x, this._y, 80);
} // End of the function
function doDrag()
{
var _l3 = _xmouse - this._x;
var _l2 = _ymouse - this._y;
this.dist = Math.sqrt(_l3 * _l3 + _l2 * _l2);
this.drag = true;
this.setControlled(true);
} // End of the function
function noDrag()
{
this.drag = false;
this.setControlled(false);
} // End of the function
function setControlled(c, source)
{
this.controlled = c;
var _l2 = 0;
while (_l2 < this.child.length)
{
if (source != this.child[_l2])
{
this.child[_l2].setControlled(c, this);
} // end if
_l2++;
} // end while
if (source != this.parent)
{
this.parent.setControlled(c, this);
} // end if
} // End of the function
a0.offset = -0.500000;
a1.offset = -0.700000;
a2.offset = -0.900000;
a0.vr = 0;
a1.vr = 0;
a2.vr = 0;
a0.move = move;
a1.move = move;
a2.move = move;
a0.rotateTo = rotateTo;
a1.rotateTo = rotateTo;
a2.rotateTo = rotateTo;
a0.setControlled = setControlled;
a1.setControlled = setControlled;
a2.setControlled = setControlled;
a0.child = [a1];
a0.parent = body;
a1.child = [a2];
a1.parent = a0;
a2.parent = a1;
a0.onPress = doDrag;
a0.onRelease = noDrag;
a0.onReleaseOutside = noDrag;
a1.onPress = doDrag;
a1.onRelease = noDrag;
a1.onReleaseOutside = noDrag;
a2.onPress = doDrag;
a2.onRelease = noDrag;
a2.onReleaseOutside = noDrag;
b0.offset = 0.500000;
b1.offset = 0.300000;
b2.offset = 0.100000;
b0.vr = 0;
b1.vr = 0;
b2.vr = 0;
b0.move = move;
b1.move = move;
b2.move = move;
b0.rotateTo = rotateTo;
b1.rotateTo = rotateTo;
b2.rotateTo = rotateTo;
b0.setControlled = setControlled;
b1.setControlled = setControlled;
b2.setControlled = setControlled;
b0.child = [b1];
b0.parent = body;
b1.child = [b2];
b1.parent = b0;
b2.parent = b1;
b0.onPress = doDrag;
b0.onRelease = noDrag;
b0.onReleaseOutside = noDrag;
b1.onPress = doDrag;
b1.onRelease = noDrag;
b1.onReleaseOutside = noDrag;
b2.onPress = doDrag;
b2.onRelease = noDrag;
b2.onReleaseOutside = noDrag;
body.offset = -3.141593;
body.vr = 0;
body.move = move;
body.rotateTo = rotateTo;
body.setControlled = setControlled;
body.child = [a0, b0];
body.parent = null;
body.onPress = doDrag;
body.onRelease = noDrag;
body.onReleaseOutside = noDrag;
onEnterFrame = function ()
{
body.move(body);
};


and when protected file (example_p.swf) the code it's like this:



// Action script...

// [Action in Frame 1]
if (true) goto 13


You can test this and let me know if you get the code from the file.

Josué Alba
11-10-2004, 06:36 PM
Any one has tested it?