ActionScript Obfuscator

Flash ActionScript lässt sich leicht dekompilieren. Heutzutage gibt es mehr als 22 Flash-Decompiler, die missbräuchlich genutzt werden können, um Ihren ActionScript-Quellcode einzusehen. Dies ist kein Designfehler - sondern einfach eine unvermeidbare Tatsache bei zwischenkompilierten Sprachen. Java und .NET-Applikationen leiden unter genau dem gleichen Problem. Da der Bytecode von ActionScript auf höherer Ebene liegt als binärer Maschinencode, ist er voller Identifier und Informationen, die ihn einfach dekompilierbar machen.

Schützen Sie Ihr ActionScript

Das Ziel eines Obfuscators ist es, die Dekompilierung extrem zeitaufwändig und schwierig zu machen, damit sie den Aufwand nicht lohnt. Somit sollen sämtliche Hobbyhacker und so viele erfahrene Hacker wie möglich gestoppt werden.

Ein ActionScript-Obfuscator entfernt den Kontext aus dem Bytecode, den Decompiler nutzen würden, um von Menschen lesbaren ActionScript-Quellcode zu generieren. Der Trick ist, diesen Kontext vor boshaften Absichten zu schützen, und gleichzeitig die Integrität der Ausführung mit dem Originalprogramm zu bewahren. secureSWF erreicht dies vollständig - Ihre Flash-Applikation wird die selben Ergebnisse produzieren, wie auch vor der Verschleierung, doch der Code wird schwerer zu dekompilieren sein.

Wie funktioniert die Verschleierung von ActionScript durch secureSWF?

ActionScript-Verschleierung verwendet keine Tricks oder Hacks gegen Flash-Decompiler, die ihre Schwachstellen ausnutzen und sie zum Absturz bringen. Es entfernt einfach die von ihnen benutzten Informationen zur Generierung lesbaren und nutzbaren ActionScript-Codes. secureSWF benennt Identifier in bedeutungslose und verwirrende Namen um, entfernt Frame-Labels, ändert ihre Referenzen in Indizes, und entfernt, sofern möglich, Metadaten.

Dieser Prozess kann nicht umgekehrt werden. Die Namen und Frame-Label der originalen Identifier, sowie die Metadaten existieren im verschleierten ActionScript nicht länger. Hier ist ein Beispiel:

Vorher
Nachher
package com.fgg.Mines {
  import flash.display.*;

  public class Face extends MovieClip {

      public var win:MovieClip;
      private var _status:int;// = 0

      public static const START:int = 1;
      public static const WIN:int = 4;

      public function Face(){
          _status = START;
          super();
          addFrameScript(0, frame1);
      }
      public function winner():void{
          this.gotoAndStop("win");
          _status = WIN;
      }
      public function start():void{
          this.gotoAndStop("start");
          _status = START;
      }
      public function get Status(){
          return (_status);
      }
      function frame1(){
          stop();
      }

  }
}//package com.fgg.Mines 
package 2 {
  import flash.display.*;

  public class 6 extends MovieClip {
      public var 
:MovieClip;
      private var ]:int;// = 0

      public static const 5:int = 1;
      public static const -:int = 4;

      public function 6(){
          ] = 1;
          super();
          addFrameScript(0, ();
      }
      public function $():void{
          this.gotoAndStop(4);
          ] = 4;
      }
      public function 4():void{
          this.gotoAndStop(2);
          ] = 1;
      }
      public function get )(){
          return (]);
      }
      function ((){
          stop();
      }

  }
}//package 2 

Die Informationen, die secureSWF entfernt

secureSWF benennt (oder entfernt komplett) alles um, das einen Namen zugewiesen bekam, während Sie Ihre Flash-Applikation designt oder entwickelt haben. Es gibt keinen Obfuscator auf dem Markt (egal, ob für Flash oder andere Sprachen), der so viele Informationen entfernen kann. secureSWF benennt bei ActionScript 1, 2 oder 3 folgende Dinge um oder entfernt sie komplett:

  • Packages (und interne Namespaces für AS3)
  • Klassen
  • Funktionen (Getter sowie Setter ebenfalls)
  • Variablen (lokale und globale Variablen für AS1 und AS2)
  • Handles-Vererbung und Polymorphismus
  • Dynamische Variablen (selbst solche von AS2-Eval)
  • Entfernt die Namen von Funktionsparametern
  • Frame-Labels
  • Namen von Symbolinstanzen
  • Namen von Buttons
  • Namen von Textfeldern
  • Variablen von Edit-Textfeldern
  • SWF-Metadaten
  • ActionScript 3-Metadaten

Download

Was unsere Nutzer sagen

C8 Technology
  http://mojoroo.com/

Dies ist das beste verfügbare Produkt. Keine Zweifel.