Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Kai.S
Threadersteller
Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht:
|
Verfasst Di 08.08.2006 16:00
Titel SWF vor decompiling schützen? |
|
|
Hey Leute,
also ich bin derzeit auf der Suche nach einer geeigneten Technik um ein LivePaper zu publizieren.
Ich bin dabei auf die Magazine von MagWerk, welche allesamt wirklich hervorragen ist.
Zu sehen unter:
Probe - Das GAMES-MAGAZIN:
http://www.magwerk.com/mag.php?magazine=probe&language=en
encore - Das Design Magazin:
http://www.magwerk.com/mag.php?magazine=encore&language=de
playmusic - Das Musik-Magazin:
http://www.magwerk.com/mag.php?magazine=playmusic&language=en
Nun wollte ich mal sehen, wie die das machen, um den Aufwand abzuschätzen, der bei der Erstellung eines solchen Magazins entsteht und hab das Ding doch den SWF Decompiler gejagt.
Merkwürdigerweise bekomm ich da aber nix gerades bei raus, nur merkwürdige if else und eval Funktionen im ersten Keyframe. Es ist zwar ein Haufen Zeug in der Bibliothek und ich kann da auch mit Doppelklick rein, aber die Actions die dann auf dem 1. Bild in einem MC liegen kann ich nicht einsehen.
Bei dem livepaper des entertainment mediaverlages ( kino.de setzt es u.A. ein ) bekomm ich den gleichen Rotz ...
Jetzt meine Frage an die großen Flash-Götter:
Gibt es mittlerweile endlich einen Weg seine SWFs verlässlich vor der Decompilierung zu schützen?!?!
Oder haben die korrupte SWF Dateien erzeugt, die vom Player abgespielt werden aber nicht wieder kompilierbar sind?!
Wenn ja, wie geht das?!
Wenn nein, warum kann ich dann nicht die Aktionen einsehen?
Ich habe die neueste Version vom SWF Decompiler (3.3) und Flash 8 benutzt.
Zuletzt bearbeitet von Kai.S am Di 08.08.2006 16:00, insgesamt 1-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Di 08.08.2006 16:13
Titel
|
|
|
Ich bin zwar keiner der Götter, aber kurz gesagt: NEIN.
Man kann zwar versuchen, mit lustigen Obfuscate-Tools den Code zu verschleiern, aber ich hab noch keins gefunden, das funktioniert. Und ich bin seit 2 1/2 Jahren VERZWEIFELT auf der Suche.
Mir ist keins bekannt, da der ASViewer nicht zerlegen könnte
|
|
|
|
|
Anzeige
|
|
|
l'Audiophile
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
|
|
|
|
Kai.S
Threadersteller
Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht:
|
Verfasst Di 08.08.2006 16:31
Titel
|
|
|
FlamingArt hat geschrieben: | Mir ist keins bekannt, da der ASViewer nicht zerlegen könnte |
Dann versuch doch mal http://www.magwerk.com/mag.php?magazine=playmusic&language=en zu öffnen,
das geht weder mit SoThink SWF Decompiler 3.3 noch mit Action Script Viewer 5.01.
Habe beide versucht - keine Chance, kommt immer der selbe Müll bei raus.
EDIT: Sieht verdammt nach SWF Encrypt 3.0 aus. Ist das nun zuverlässig? Lohnt die Anschaffung? (95€)
Zuletzt bearbeitet von Kai.S am Di 08.08.2006 17:01, insgesamt 1-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Di 08.08.2006 17:57
Titel
|
|
|
Also bei mir gehts
Beispiel:
Code: |
if (!_global.mx) {
_global.mx = new Object ();
}
if (!_global.mx.skins) {
_global.mx.skins = new Object ();
}
if (!_global.mx.skins.halo) {
_global.mx.skins.halo = new Object ();
}
if (!_global.mx.skins.halo.FocusRect) {
var _local1 = function () {
super();
this.boundingBox_mc._visible = false;
this.boundingBox_mc._width = (this.boundingBox_mc._height = 0);
};
mx.skins.halo.FocusRect = _local1;
var _local2 = new mx.skins.SkinElement();
mx.skins.halo.FocusRect.prototype = _local2;
_local2.draw = function (o) {
o.adjustFocusRect();
};
_local2.setSize = function (w, h, r, a, rectCol) {
this._xscale = (this._yscale = 100);
this.clear();
if (typeof (r) == "object") {
r.br = ((r.br > 2) ? (r.br - 2) : 0);
r.bl = ((r.bl > 2) ? (r.bl - 2) : 0);
r.tr = ((r.tr > 2) ? (r.tr - 2) : 0);
r.tl = ((r.tl > 2) ? (r.tl - 2) : 0);
this.beginFill(rectCol, a * 0.3);
this.drawRoundRect(0, 0, w, h, r);
this.drawRoundRect(2, 2, w - 4, h - 4, r);
this.endFill();
r.br = ((r.br > 1) ? (r.br + 1) : 0);
r.bl = ((r.bl > 1) ? (r.bl + 1) : 0);
r.tr = ((r.tr > 1) ? (r.tr + 1) : 0);
r.tl = ((r.tl > 1) ? (r.tl + 1) : 0);
this.beginFill(rectCol, a * 0.3);
this.drawRoundRect(1, 1, w - 2, h - 2, r);
r.br = ((r.br > 1) ? (r.br - 1) : 0);
r.bl = ((r.bl > 1) ? (r.bl - 1) : 0);
r.tr = ((r.tr > 1) ? (r.tr - 1) : 0);
r.tl = ((r.tl > 1) ? (r.tl - 1) : 0);
this.drawRoundRect(2, 2, w - 4, h - 4, r);
this.endFill();
} else {
var _local5;
if (r != 0) {
_local5 = r - 2;
} else {
_local5 = 0;
}
this.beginFill(rectCol, a * 0.3);
this.drawRoundRect(0, 0, w, h, r);
this.drawRoundRect(2, 2, w - 4, h - 4, _local5);
this.endFill();
this.beginFill(rectCol, a * 0.3);
if (r != 0) {
_local5 = r - 2;
r = r - 1;
} else {
_local5 = 0;
r = 0;
}
this.drawRoundRect(1, 1, w - 2, h - 2, r);
this.drawRoundRect(2, 2, w - 4, h - 4, _local5);
this.endFill();
}
};
_local2.handleEvent = function (e) {
if (e.type == "unload") {
this._visible = true;
} else if (e.type == "resize") {
e.target.adjustFocusRect();
} else if (e.type == "move") {
e.target.adjustFocusRect();
}
};
_local1.classConstruct = function () {
mx.core.UIComponent.prototype.drawFocus = function (focused) {
var _local2 = this._parent.focus_mc;
if (!focused) {
_local2._visible = false;
this.removeEventListener("unload", _local2);
this.removeEventListener("move", _local2);
this.removeEventListener("resize", _local2);
} else {
if (_local2 == undefined) {
_local2 = this._parent.createChildAtDepth("FocusRect", mx.managers.DepthManager.kTop);
_local2.tabEnabled = false;
this._parent.focus_mc = _local2;
} else {
_local2._visible = true;
}
_local2.draw(this);
if (_local2.getDepth() < this.getDepth()) {
_local2.setDepthAbove(this);
}
this.addEventListener("unload", _local2);
this.addEventListener("move", _local2);
this.addEventListener("resize", _local2);
}
};
mx.core.UIComponent.prototype.adjustFocusRect = function () {
var _local2 = this.getStyle("themeColor");
if (_local2 == undefined) {
_local2 = 8453965 /* 0x80FF4D */;
}
var _local3 = this._parent.focus_mc;
_local3.setSize(this.width + 4, this.height + 4, 0, 100, _local2);
_local3.move(this.x - 2, this.y - 2);
};
TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus;
TextField.prototype.adjustFocusRect = mx.core.UIComponent.prototype.adjustFocusRect;
mx.skins.halo.FocusRect.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect;
return (true);
};
_local1.classConstructed = mx.skins.halo.FocusRect.classConstruct();
_local1.DefaultsDependency = mx.skins.halo.Defaults;
_local1.UIComponentDependency = mx.core.UIComponent;
(ASSetPropFlags(mx.skins.halo.FocusRect.prototype, null, 1));// not popped
}
|
|
|
|
|
|
Kai.S
Threadersteller
Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht:
|
Verfasst Mi 09.08.2006 09:32
Titel
|
|
|
Also gehts doch ...
maaaaaaan und ich dachte schon ...
Welche Version hast du denn benutzt, weils bei mir so verzockt ist?
|
|
|
|
|
ALEXX
Dabei seit: 26.08.2004
Ort: Köln
Alter: 37
Geschlecht:
|
Verfasst Mi 09.08.2006 15:03
Titel
|
|
|
Hi,
ich kenne ein sehr gutes tool zur verschlüsselung von swf files.
bis jetzt wurde diese verschlüsselung noch nicht geknackt.
benutze das proggi selber und habe es auf herz und nieren getestet.
Fazit: Sehr sicher!
http://www.amayeta.com/software/swfencrypt/
mfg alex
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Mi 09.08.2006 16:52
Titel
|
|
|
[ ] Du hast den Thread gelesen
Kai.S hat geschrieben: |
Sieht verdammt nach SWF Encrypt 3.0 aus. |
FlamingArt hat geschrieben: |
Also bei mir gehts
|
|
|
|
|
|
|
|
|
Ähnliche Themen |
pdf für website schützen
Datei schützen
Grafik schützen
webseite vor kopieren schützen
mp3 auf Homepage vor Download schützen?
Flash vor klau schützen
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|