7 Stimmen

Ersetzen von Zeichenketten in SWF

Wir haben Dutzende von SWF-Versionen, die für verschiedene Kunden eines großen Flash-Projekts modifiziert wurden, und müssen nun in jeder Kopie einige in Skripte eingebettete Zeichenfolgen ersetzen. Die FLA-Datei für einige von ihnen ist sehr schwer zu finden oder fehlt sogar (ich habe dieses Chaos geerbt und Refactoring ist derzeit keine Option).

Gibt es ein (kostenloses) Tool zum Ersetzen von in ActionScript verwendeten Strings? Ich habe swfmill ausprobiert, um die Dateien in XML und zurück zu konvertieren, aber es kann die in den Strings enthaltenen internationalen Zeichen nicht verarbeiten, so dass ich sie nur teilweise konvertieren konnte. Die meisten Strings wurden korrekt extrahiert, so dass ein anderes Tool die Aufgabe übernehmen könnte.

0voto

matt lohkamp Punkte 2092

Knifflig - es könnte nicht einfacher sein, aber Sie könnten die "gesperrte" swf in eine, die Sie steuern, laden, dann Spinne durch seine Objekte, bis Sie TextBox treffen, mit einigen for...in Schleifen - es wäre ein langer, mühsamer Prozess, um sie zuzuordnen, dann ändern Sie sie, vor allem, wenn der vorherige Entwickler nicht Dinge in eine hilfreiche Weise benannt hat, aber wenn es eine ziemlich einfache .swf ist, dann könnte es zu schlecht sein...

Außerdem gibt es ein Mac-Utility zum Dekompilieren von swfs, auf das ein Kollege von mir schwört, aber ich weiß den Namen nicht mehr... jemand?

0voto

Iain Punkte 9298

Schwierige Frage - haben Sie schon die Sothink Dekompilierer? Wenn das nicht funktioniert, würde ich sagen, versuchen Sie, die swf in eine andere swf zu laden, und dann den Inhalt des Textfeldes zu ändern - etwa so _root.loadedswf.clip1.box2.textField.text = "New text"; Das funktioniert natürlich nicht, wenn die Anwendung komplex ist.

0voto

Locke Punkte 315

0voto

Papuass Punkte 327

Es scheint mir, dass swfmill sein Tool aktualisiert hat, um internationale Zeichen zu unterstützen, zumindest für die lettische Sprache (die UTF-8 erfordert). Strings werden als HTML-Entitäten kodiert.

Ich habe einige ähnliche Probleme mit einer alten swf-Datei gelöst.

0voto

izb Punkte 47624

Sie könnten versuchen Swiffotron die die Möglichkeit bietet, Text sowohl auf der Bühne als auch in Actionscript zu ersetzen.

Hier ist ein Unit-Test-Eingabedatei aus dem Projekt die zeigt, wie es gemacht werden könnte:

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X