Frage

Wie kann ich meine schützen delphi App von dekompilierten werden? Ich weiß, es gibt einige Software wie themida, dass ich denke, wird das tun, aber dann die geschützte exe Auslöser der Antivirus.

War es hilfreich?

Lösung

Es hängt davon ab, was Ihr Ziel ist.
Wenn es wirklich nur um die Quelle zu schützen, ist es bereits getan! Vorausgesetzt, Sie enthalten keine Debug und Symbole Informationen und einige schwere inlining, viel Glück hinzufügen aus Auseinanderbauen der exe einige brauchbare Pascal-Code zu rekonstruieren.
Wenn es Menschen nicht sehen, wie es funktioniert zu verhindern und es hacken, dann müssen Sie einige anti-disassemble Schutz umfassen. Es ist schwieriger, aber machbar. Oft als Sicherheiten Schutz Anti-Piraterie getan.

Andere Tipps

Alles, was eine CPU lesen kann, kann auch „dekompilierten“ werden, so gibt es keine ultimative Sicherheit. Aber in der Regel ist es ziemlich hart zusammengestellt Delphi-Code zu dekompilieren, und fast alle Kennungen und alle Kommentare sind verschwunden, natürlich.

Die veröffentlichten Teile von Klassen, DFM Dateiinformationen und Konstanten (einschließlich String-Konstanten) sind in der EXE-Datei, in leicht lesbarer Weise. Sie können dieses Problem verringern, indem Sie die Saiten Verschlüsselung und nicht veröffentlicht und nicht mit DFM-Dateien verwenden. Doch alle die Informationen in Ihrer EXE-Datei noch vorhanden sein, so oft dies nur harte Arbeit sein wird, die keine wirkliche Sicherheit gibt.

Wenn Sie nur Teile des Quellcodes wollen, schwierig sein zu lesen, machen Sie Ihre Algorithmen schwierig ...

Am Ende kann alles gehackt werden. Die einzige wirkliche Möglichkeit, Ihre App vor einer dekompilierten zu vermeiden, ist die exe-Datei weg von denen zu halten, die es tun, wie wenn Sie es auf Ihrem eigenen Server bereitstellen, aber nicht auf dem Server des Kunden.

Wenn Sie mit Delphi Prism dann eine der vielen Tools .Net Dekompilierung wird es eine triviale Aufgabe machen zu erhalten Zugang zu (eine Form) des Quellcodes.

Die einzige Lösung ist eine der zahlreichen .Net Verschleierungs Werkzeuge zu benutzen. Leider kann ich nicht eine Empfehlung abgeben, wie ich nie eine verwenden hätte, aber Google sollte man den Weg ...

Wenn Sie auf native Win32 sind kompiliert dann jede Form von Verschleierung oder sogar anti-Debug-Mechanismus ist so ziemlich eine Verschwendung von Zeit. Es gibt Leute da draußen, die Montage so einfach lesen können, wie Sie oder ich unsere Muttersprache lesen. Diese Dinge nur verlangsamen den Reverse-Engineering-Prozess nach unten etwas (und nur kaum dazu).

Vor ein paar Jahren, ich hatte eine Anwendung neu zu schreiben, was von seinem Entwickler verlassen.

kann ich alles von DFM-s, Formulare (mit Komponenten) Query-Strings in TxyzQueries, Bitmaps aus Bildlisten, einige Strings mit Decompiler gespeichert erholen, aber die Anwendungslogik nicht wiederhergestellt werden kann, nur Methodennamen mit asm Quelle im Inneren.

Es gibt Lader (wie UPX http://upx.sourceforge.net ), was crypted Auszüge, Druck Anwendung in den Speicher und lädt sie auf Start, aber die AV oft Marken Anwendungen wie infiziert. : (

Sie können eine kleine app wie das schreiben, einige Tipps:

www.codeproject.com/KB/cs/LoadExeIntoAssembly.aspx (.net)  www.joachim-bauch.de/tutorials/load_dll_memory.html (für dll-s)

Nur Anwendungen, geschützt mit gestohlen Themida Schlüsseln sollten einen Anti-Virus auslösen (Win32.Black, die von Kaspersky zum Beispiel).

In der Regel kann man nicht wirklich Code von Dekompilierung schützen. Jedoch unter Verwendung eines Werkzeugs wie -Code Virtualizer Schlüsselbereiche zu schützen, wie Ihr installieren Code-Decoder. Code, virtualisiert ist viel langsamer, und hat einige Einschränkungen, aber es fügt eine geeignete Hürde für den gelegentlichen Schwierigkeiten Hacker. Dies wird am besten in einem Build-Skript durchgeführt, so dass es konsequent für die Freigabe gegeben wird - auf diese Weise jedes Mal einen angemessenen Schutz zu gewährleisten.

Ich empfehle Trennen des Installationscode aus dem Schutz BTW, so dass Sie den Schutz jederzeit ohne sich Gedanken über vorhandene Benutzer wechseln.

Schließlich werden Delphi Formen leicht zugänglich, aber sie sind in der Regel nicht sinnvoll, zu ändern.

Eine komplette Demontage wird nie erreicht Ich denke, für die native Win-Plattform. Wenn Sie keine Debug-Symbole usw. während der Kompilierung enthalten oder verstecken diese ein Tool verwenden, ist es sehr unwahrscheinlich, dass Ihre exe decodiert werden können. Keine Ahnung von .NET Sache.

Eine einfache Möglichkeit, die ausführbare Datei zu schützen, ist es als Web-Anwendung auf einem Internet-Server laufen zu lassen. Mit Delphi und einer Ajax Bibliothek (zum Beispiel: ExtJS über extpascal oder IntraWeb / VCL für das Web) ist es möglich, zu konvertieren Desktop und Client / Server-Anwendungen auf Web-Anwendungen. (Beispiele) - das macht die Anwendung auch für andere Betriebssysteme verfügbar und mobil Geräte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top