Häufig gestellte Fragen

Teilen:

Native

  • Die AxProtector Option '–a' wurde in der Vergangenheit verwendet, um die AxEngine bei der Verschlüsselung an einen bestimmten, zuvor reservierten Bereich, zu legen.
    Dies war notwendig, wenn die Anwendung nicht genügend Platz bot, die AxEngine unterzubringen.
    Seit AxProtector Version 10.20 wird diese Option nun nicht mehr unterstützt. Eine alternative Möglichkeit, die AxEngine trotzdem an eine Anwendung anzufügen, wird in KB-0322 beschrieben.
  • AxProtectorLin kann für den Evaluierungs-Universal Firm Code 6000010 beispielhaft wie folgt aufgerufen werden - für weitere Optionen siehe die AxProtector-Hilfe):

    AxProtectorLin -x -kcm -f6000010 -p13 -cf0 -d:6.20 -fw:3.00 -sl -nl -cav -cas100 -car30,3 -v -cag17 -# -o:"encrypted_test.app" "test.app"

    -x linkt die statische Bibliothek des Lizenzsystems mit der zu schützenden Anwendung.
    -kcm Gibt das Lizenzierungssystem an (CodeMeter) .
    -f Gibt den zu verwendenden Firm Code (x) an.
    -p Gibt den zu verwendenden Product Code (x) an.
    -cf Gibt den Funktionscode (x) der zu verwendenden Funktionsübersicht an.
    -d Gibt die minimale Treiber-Version (v) an.
    -fw Definiert die minimale Firmware-Version (v).
    -sl Gibt die Suchreihenfolge des Subsystems an, wenn nach Lizenzen gesucht wird (lokal).
    -nl Gibt den Zugriffsmodus an (Normal User Limit).
    -cav Fügt der automatisch verschlüsselten Anwendung eine Code-Integritätsprüfung hinzu.
    -cag Aktiviert Anti-Debugging-Mechanismen (Anti-Debugging-Checks, ADC).
    -cas Gibt die Größe der zu verschlüsselnden geschützten Anwendung an. Sie geben die Länge in Prozent von 0 bis 100% ein.
    -# Diese Option steht für die automatischen Ausgabe in die Datei AxProtector.log [//Dokumente und Einstellungen\Benutzer].
    -car30,3 Fügt der automatischen Verschlüsselung eine Laufzeitüberprüfung hinzu.
    -v Aktiviert den verbose (ausführlichen) Modus.
    -o Gibt den Pfad und den Namen der verschlüsselten Zieldatei an.
  • Zum Austesten (debugging) von geschützten Anwendungen bietet AxProtector verschiedene Optionen an.


    AxProtector-Option -cce
    Zur Untersuchung einer Dump-Datei einer verschlüsselten Anwendung/Dll im Vergleich mit dem originalen Code sollten Sie bei der Verschlüsselung die AxProtector-Option -cce verwenden, damit die Speicheradressen beibehalten werden.

    In den meisten Anwendungsfällen reicht die Verwendung der AxProtector-Option –cce völlig.

    AxProtector-Option -ccn
    Die AxProtector Option -ccn ist notwendig, um eine geschützte Anwendung zu debuggen. Hierzu wird beim Debuggen das "Structure Exception Handling" abgeschaltet. Sie können die AxProtector-Option -ccn aus Sicherheitsgründen jedoch nur verwenden, wenn Sie eine entsprechende Lizenz in ihrer FSB (Firm Security Box) besitzen. Diese Lizenz bekommen Sie auf Anfrage vom Support.

    Bitte stellen Sie vorher sicher, dass alle Anti-Debugger-Mechanismen bei der Verschlüsselung mit AxProtector abgeschaltet sind. Benutzen Sie dazu die Option -cag0.

    Eine mit der Option -ccn verschlüsselte Anwendung sollten Sie aber aus Sicherheitsgründen ausschließlich für Tests in Ihrem Hause verwenden und nie nach außen geben. Um dies zu vermeiden, empfehlen wir die Option –ccn nicht zu verwenden.
  • Diese Meldung tritt bei der Verschlüsselung mit AxProtector auf, wenn nicht genügend Platz in der Anwendung ist, die AxEngine unterzubringen.

    Um dies zu beheben, müssen Sie Ihre Anwendung mit einem größeren FileAlignment erstellen.
    Zum Festlegen der Linker-Option 'FileAlignment' in der Visual Studio-Entwicklungsumgebung gehen Sie bitte wie folgt vor:
    1. Öffnen des Dialogfeldes "Eigenschaftenseiten" des Projekts.
    Ausführliche Informationen finden Sie unter Working with Project Properties (Arbeiten mit Projekteigenschaften).
    2. Wählen der "Befehlszeile" Eigenschaftenseite im "Linker" Verzeichnis.
    3. Eingeben des Optionsnamens "/filealign:" und der Größe in das "zusätzliche Optionen"Feld, z.B. /filealign:4096.
    4. Neuerstellung der Anwendung und wiederholen der Verschlüsselung.
  • Gehen Sie bitte wie folgt vor:
    1. Exportieren des erstellen AxProtector-Projektes.
    Sie erhalten eine *,wbc Datei.
    2. Bearbeiten der Datei, d.h. Funktionen 
    oder DLLs, die ausgeschlossen werden sollen, 
    und hinzufügen, z,B.
    [WIBU-SYSTEMS Control File]
    Guid={00090000-0000-1100-8005-0000C06B5161}
    ...
    [Commandline]
    ...
    [Exclude Functions]
    Function1=getc
    Function2=putc
    Function3=fread
    Function4=fwrite
    ...
    [Exclude DLLs] 
    Dll1=KERNEL32.dll
    Dll2=USER32.dll
    Dll3=GDI32.dll
    ...
    3. Aufrufen von AxProtector mit angepassten
    AxProtector-Parametern der wbc-Datei, z.B. mit
    AxProtector.exe @test.wbc
  • Damit Sie bestimmte Funktionen für IxProtector makieren können, müssen die Funktion beim Kompilieren exportiert werden. Nur dann kann IxProtector die Funktion im Binary finden.
    Für das Markieren kann das Macro WUPIDECLFUNC aus der wibuixap.h verwendet werden. 

    Außerdem, wenn Sie mit C++ kompilieren, ist der exportierte Namen ggf. noch komplizierter als der im orginalen Quellcode. Dies passiert aufgrund von "name mangeling" (oder auch als "name decoration" bezeichnet) bei dem der Compiler noch mehr Informationen zum Namen hinzufügt.
    Hier kann dann extern "C" helfen.
    Z.B.: extern "C" WUPIDECLFUNC wchar_t* HexConversion(wchar_t* ctext);

    Um die exportieren Symbole einmal aus einem kompilierten Binary auszulesen, können Sie auf Windows die "dumpbin" Anwendung verwenden, die in der Visual Studio-Kommandozeile verfügbar ist.
    Z.B.: dumpbin /exports SamplePlugin.dll

    Dump of file SamplePlugin.dll
    File Type: DLL
    Section contains the following exports for SamplePlugin.dll

    00000000 characteristics
    5CA39B12 time date stamp Tue Apr 2 19:25:38 2019
    0.00 version
    1 ordinal base
    3 number of functions
    3 number of names

    ordinal hint RVA name

    1 0 00001030 ??0CSamplePlugInApp@@QAE@XZ
    2 1 00001040 ??4CSamplePlugInApp@@QAEAAV0@ABV0@@Z (<- Beispiel für "name mangeling")
    3 2 00001EA0 HexConversion
  • Problem:
    Die Verwendung eines verschlüsselten "Fat-Binary", d.h. einer Anwendung, die 32-Bit und 64-Bit Komponenten enthält, kann auf macOS Schwierigkeiten verursachen.

    Lösung:
    Die Anwendung sollte für die Verwendung/Verschlüsselung so aufgeteilt werden, dass "reine" 32-Bit-Anwendungen und reine 64-Bit-Anwendungen entstehen.
Nach oben