Kommerzielle Software-Schutz-Programme


  Share  
|


Zusätzlich zu den Freeware- und sharewareprogrammen gibt es eine Anzahl von Programmen für kommerzielle Anwendungsbereiche für Software-Schutz. Diese schwanken auch in Qualität.

Als, diesen Artikel schreibend, beabsichtigte ich, über den ganzen kommerziellen Software-Schutz zu schreiben, daß ich finden könnte. Ich erlernte schnell, obwohl, daß es zu viele in einem weit gab angemessenen Raum zu bedecken Werbung Pakete,, also ich meine Ausgangsliste unten zu ungefähr vierzig Paketen whittled (möglicherweise Drittel von, was vorhanden ist). Ich wählte dann vor, was schien, das bekannteste zu sein nicht nur, aber auch, in meiner Ansicht, die besten Pakete und jedes im Detail studierten. Ich richtete beide auf das Design jedes Pakets sowie den Code selbst.

Die meisten der gegenwärtigen kommerziellen Software arbeitet wie Gürteltier, SVKP, Vbox und ASProtect. Jedoch nur einige kommerzielle Softwarepakete handhaben ihren Schutz gut, und die meisten diesen Programmen werden nicht sogar gegen Änderungen im Code geschützt, den ich finde, um sehr zu sein unprofessional.

Es gibt durchaus eine Strecke des Software-Schutzes vorhanden, und Meistes hat seine Schwächen. Als Software-Entwickler sollten Sie die Schwächen in den Programmen verstehen, die Sie wählen und entwickeln eine gute Strategie für das Einsetzen des Software-Schutzes. Es gibt gute Lösungen heraus dort und wenn es verwendet wird, intelligent ist man sicher, für Sie zu arbeiten, aber erwartet keine eine Lösung zum Letzten für immer.

ASProtect

ASProtect, von der ASPack Software (http://www.aspack.com), ist nicht ein anderes kommerzielles Anti-knackendes Programm gerecht; es ist ein wirklich revolutionärer Fortschritt im Software-Schutz. Es kann die verpackte Lösung zum Software-Schutz für die sein, die nicht die langen Stunden Zollschutz für ihre eigene Software studierend und programmierend verbringen möchten.

Schöpfer Alexey Solodovnikov ASProtects erlernte viel von seiner Arbeit über ASPack und wendete diese Erfahrung an ASProtect an. Er behauptet, daß, weil alle Anti-knackende Verteidigung besiegt werden kann, die einzige wichtige Sache ist unter, welchen Umständen sie gebrochen werden können.

Während sie besonders für shareware Entwickler verursacht wurde, kann ASProtect für professionelle Software außerdem verwendet werden. Während es nicht so vielseitig begabt wie FLEXlm ist und es nur unter Windows funktioniert, I daresay, das es z.Z. der schwierigste kommerzielle Software-Schutz ist zum zu brechen. Seine nur Schwäche ist, daß sie nicht die besten Anti-Ausprüfen Tricks hat.

Verglichen mit anderem kommerziellem Software-Schutz, ist ASProtect einfach und gut-programmiert und reflektiert die einfache aber wundervolle Idee hinter ihm. Wie ähnliche Programme wird das ursprüngliche Programm und dann uncompressed von ASProtect zusammengedrückt, bevor es laufen gelassen wird.

Kompression ASProtects basiert auf dem ASPack Algorithmus, der zu dem besten gehört. Während sie über 60KB des Codes dem ursprünglichen Programm hinzufügt, macht dieser zusätzliche Code nicht an allen aus, da das resultierende zusammengedrückte Programm dann das ursprüngliche viel kleiner ist.

Dekompressionprogramm ASProtects überprüft, um zu sehen, ob es Versuche gegeben hat, die Akte zu ändern, und sie versucht, Änderungen im Gedächtnis zu verhindern. Natürlich ohne Dekompression, kann das ursprüngliche Programm nicht auseinandergebaut werden, und es ist nicht einfach, ASProtect zu dekomprimieren, weil es versucht, Speicherausdrücke durch Programme wie ProcDump zu verhindern. Einmal ist der Importabschnitt vom Gedächtnis entleert worden, die PET-Akte ist nicht korrekt. Noch gibt es eine Weise, ASProtect zu dekomprimieren (nicht durch gerade entleeren), aber ASProtect wird noch nicht sogar nach erfolgreicher Dekompression besiegt.

Wie FLEXlm versucht ASProtect, den Gebrauch von bestimmten Funktionen im geschützten Programm zu verhindern, wenn es nicht registriert ist, und es so schön verglichen mit anderer Software. Z.B. wenn ein Programmierer Vorbetrachtung in der nicht registrierten Version sperren möchte, muß er nur diese Funktion mit ASProtect kodieren. Nach Ausrichtung wird das untaugliche Teil mit einer Konstante vom Ausrichtung Schlüssel decodiert, und es ist nicht möglich, ihn ohne diesen Ausrichtung Schlüssel zu decodieren. ASProtects außergewöhnlich starke kodierung verhindert sogar direkte (Rohling-Kraft) Angriffe.

Es gibt drei Möglichkeiten, eine Anwendung mit ASProtect zu sichern. Die erste Weise verwendet klassische Kompression und wird nicht empfohlen, weil zu decodieren verhältnismäßig ist einfach.

Die zweite Möglichkeit ist, obwohl noch nicht das beste viel interessanter. Mit dieser Methode wird der ursprüngliche Schutz zuerst beglaubigt, nachdem das ASProtect API mit einer Konstante für die Decodierung des kodierten Teils des Programms benannt ist. Sie konnten diese Methode verwenden, wenn z.B. das Programm, das Sie sich bereits schützen möchten, seine eigene Ausrichtung Steuerung hat und Sie nicht sie ändern möchten. Diese Methode würde eine schlechte Wahl sein, wenn der ursprüngliche Schutz schwach ist, da er der verhindern würde, daß Cracker nicht die korrekte Konstante erhält.

Die dritte und beste Möglichkeit fügt keinen Schutz Ihrem Programm hinzu (obgleich zusätzliche Schutze möglich sind). Im Allgemeinen wenn Sie diese dritte Methode verwenden, spezifizieren Sie im Ausrichtung Schlüsselvorsprung in ASProtect, daß Sie Ihr Projekt einen Ausrichtung Schlüssel enthalten wünschen. Das Programm verursacht dann eine grundlegende Konstante, die als Unterseite für andere Schlüssel dienen und die auch verwendet wird, um das geschützte Teil des Programms zu kodieren. Sie können die Schlüssel entsprechend Benutzernamen erzeugen, und Sie können sie auch speichern. Schließlich stellen Sie fest, wo der Ausrichtung Schlüssel im Register nach Ausrichtung gespeichert wird.

Anmerkung ASProtects Schlüsselakten haben, SCHLÜSSELENDEN aber sind im Wesentlichen Ausrichtung Akten, die in Register importiert werden, einmal, das sie doppelt-geklickt worden sind. Dieses ist ein Vorteil, weil Schlüssel Ausrichtung ASProtects ziemlich lang sind, und es würde langwierig für Benutzer sein, sie eigenhändig anzumelden.

Der folgende Schritt ist, die Ausrichtung zu überprüfen. Wenn Sie nur einen Ausrichtung Schlüssel haben, druckt das Programm den Namen des zugelassenen Benutzers. Sie können Schlüssel auch angeben, die illegal Öffentlichkeit gebildet worden sind, wenn Sie sie nicht in den zukünftigen Versionen des Programms arbeiten wünschen. Folgende Versionen von ASProtectSIND vermutlich in der Lage, Schlüssel für nur einen Computer zu erzeugen, der die ungültige Verteilung der Ausrichtung Schlüssel verhindert.

Schließlich im Programmcode spezifizieren Sie die Teile des Programms, daß Sie dieses kodieren—möchten sind ein einfaches Verfahren, das durch fast jeden möglichen Programmierer durchgeführt werden kann. Z.Z. enthält ASProtect Codebeispiele für Delphi, Sichtc++ und sichtlichgrundlegendes. Zum Beispiel ist hier ein kurzes Beispiel in Sichtc++:

schließen Sie < windows.h > mit ein 
# schließen Sie "include\asprotect.h" Putzfrau * 
Anzeige mit ein; 
heben Sie RegisterAction() auf { 
REG_CRYPT_BEGIN 
Anzeige = "eingetragene Version!"; 
REG_CRYPT_END 
} 
internes WINAPI WinMain (HINSTANCE hInstance, 
HINSTANCE hPrevInstance, PSTR szCmdLine, internes iCmdShow) 
{ 
Anzeige = "nicht registrierte Version!"; 
RegisterAction(); 
MessageBox (0,message, "",0); Rückkehr 0; 
} 

Sie müssen REG_CRYPT_BEGIN dem Anfang des kodierten Programms und REG_CRYPT_END hinzufügen dem Ende.

Am Anfang des kodierten Teils des Programms, müssen Sie die folgenden Daten hinzufügen:

0EBh, 04h, 0EBh, 05h, 89h, 89h, 0E9h, 0, 0, 0, 0 
Und die folgenden Daten werden am Ende 
hinzugefügt: 
0EBh, 04h, 0EBh, 05h, 99h, 99h 

Diese Daten ermöglichen ASProtect, die Bereiche zu finden, die Sie kodieren möchten.

Zunächst müssen Sie nur das Verfahren benennen und der Rest ist für Sie erfolgt. Wenn ein Programm nicht registriert wird, wird das kodierte Teil übersprungen, oder sonst tritt eine Störung auf. Wenn das Programm registriert wird, wird dieses Teil beim Anfang des Programms decodiert, und es wird später verwendet, wenn es benannt wird.

Sie können den Namen des Benutzers mit der apiGetRegInfo() API Funktion erhalten.

Wenn Sie viele Ausrichtung Schlüssel sofort verursachen müssen, bildet ASProtect es einfach, indem er die Bibliothek keygen.dll liefert. Sie können Ausrichtung Schlüssel mit seinen zwei Funktionen erzeugen. Die GenerateKeyAsRegFile() Funktion stellt eine Ausrichtung Akte her, die auf Benutzerinformationen basiert. Wechselweise bringt die GenerateKeyAsString() Funktion den Trockengleichrichter zu zurück, dem der Ausrichtung Schlüssel verursacht wurde.

ASProtect erlaubt Ihnen, die Zahl Zeiten, die ein Programm laufen gelassen werden kann oder die Zahl Tagen einzustellen, die sie verwendbar ist. Anders als ähnliche Programme für kommerzielle Anwendungsbereiche wird aller Schutz in die PET-Akte und nicht in addierte DLL oder OCX Akten gelegt.

Ab diesem Schreiben ist es unmöglich für einen Cracker, Schutz ASProtects richtig zu entfernen. Um so zu tun, würde er den korrekten Ausrichtung Schlüssel verwenden müssen um das Programm zu decodieren und es vom Gedächtnis dann zu entleeren. Selbstverständlich die Schöpfer des Programms diesen Angriff betrachten, können sie ihn auch verhindern, indem sie zusätzliche Schutze addieren.

· Prüfen Sie Akte Vorlage: 1.691.648 Bytes

· Prüfen Sie Akte kodierung: 693.760 Bytes

· Decoder: AspackDie

FLEXlm

FLEXlm, von der Globetrotter Software (http://www.globetrotter.com) ist eins der am häufigsten verwendeten Schutzprogramme für pricier kommerzielle Software. Während es ursprünglich meistens mit Unix Software, in den letzten Jahren verwendet wird, ist es mit anderen Systemen außerdem, besonders Windows verwendet worden. FLEXlm wird von den größten Software-Produzenten, einschließlich Ziegelstein-Systeme, Sonne-Mikrosysteme, Texas Instruments, Sybase und SGI verwendet.

FLEXlm stützt die meisten Betriebssysteme und viele Vermittlungsprotokolle, und es bietet viele Weisen an, ein Produkt zu schützen. Ich beschreibe kurz wichtigsten. Die aktivierenprodukteigenschaften Wahl ist am häufigsten verwendet.

Demo der Demo-(Zeit-Begrenzte Lizenz) oder Zeit-begrenzte Programme können bestimmte Eigenschaften sperren, die im vollen Produkt gefunden werden. Die Grenzzeit kann bis zum einem Datum festgestellt werden, als die Lizenz, durch eine Anzahl von Tagen abläuft oder durch eine Zahl des Programms beginnt.

Aktivieren Sie Produkt-Eigenschaften, die diese Wahl Sie einige Programmeigenschaften sperren und verschiedene Arten der Lizenzen benutzen läßt. Z.B. in der "lite" Version eines Programms, konnten einige Funktionen untauglich sein und ermöglichten dann, sobald ein Benutzer für die "Pro" Version registriert.

Das Schwimmen über ein Netz diese Wahl läßt Sie die Höchstzahl der Benutzer feststellen, die ein bestimmtes Programm über einem Netz auf einmal verwenden können.

Nennen-Benutzer diese Einstellung spezifiziert, daß das Programm nur auf Computern verwendet werden kann, die ihre Netznamen haben, die in einer Liste der Benutzer spezifiziert werden.

Nullpunkt-Verschlossen verriegelt diese Wahl das Produkt zu einem bestimmten Computer.

Nullpunkt-Verschlossen zählte Verriegelungen dieser Wahl das Programm zu einem Computer und nur für eine begrenzte Anzahl von Anfängen.

Zeit-Begrenzt stellt diese Wahl ein Datum ein, nachdem läuft die Lizenz für das Produkt ab und das Programm ist nicht mehr verwendbar.

Gebiet nur diese Wahl schränkt Gebrauch des Produktes auf Computer in einem spezifischen Internet-Gebiet ein.

Geschützte Produkte benennen Schutz FLEXlms mit API Funktionen, und dieser Schutz überprüft dann die Lizenz in einer Akte, normalerweise license.dat. Bevor das Programm eine geschützte Funktion verwendet, überprüft es, um zu sehen, ob ein bestimmter Benutzer ein Recht hat, die Funktion zu verwenden.

Schutz FLEXlms ist nicht zwar unbreakable. An diesem Schreiben gibt es einen Generator, der auf Störungen in FLEXlm, korrekte Lizenzakten zu produzieren gross schreibt. Natürlich vermindert das Bestehen dieses Generators Wirksamkeit FLEXlms. Andererseits obwohl, wenn es richtig verwendet wird und mit anderen Schutzen, FLEXlm kann ruhiges Angebot eine sehr gute Lösung kombiniert wird. Z.B. wenn ein anderes Programm verwendet wird, um die Lizenz in irgendeiner anderer Weise wieder zu prüfen einmal, ist eine geschützte Funktion, dieses Programm aufdeckt häufig eine illegal hergestellte Lizenzakte verwendet worden.

Es ist manchmal schwierig, alle FLEXlms geschützte Funktionen zu finden, und es ist absolut wesentlich ihre, Namen direkt in die EXE Akte in der lesbaren Form zu legen zu vermeiden. Weil Cracker häufig einen Gebührenstafflungspunkt beim lc_checkout Anruf einstellen, wenn sie nach FLEXlm Funktion Anrufen suchen, ist es besser, die geschützten Funktionen zu überprüfen nur wenn sie verwendet werden, anstatt sie alle zu überprüfen, sobald das Programm begonnen hat. Seien Sie, auch, die Gebührenstafflungspunkte zu überprüfen sicher, die auf diesen Anruf, und andere Schutze im Programm zu verwenden eingestellt werden.

Während FLEXlm breakable ist, zu verwenden ist einfach. Seine breite Strecke der Wahlen und Unterstützung für eine Vielzahl der Betriebssysteme üben es eine attraktive Software-Schutzoption aus.

InstallShield

Die InstallShield Software ist für das Verursachen der Installation Pakete bestimmt. Vermutlich hat jedermann, das in Windows arbeitet, es gesehen, und es bereits ist am wahrscheinlichsten die beste Anwendung in auffangen für so tun. Viele Programme haben versucht, mit InstallShield zu konkurrieren, aber keine haben es geschlagen (obwohl einige nahe kommen).

Weil ein fehlerhaftes Installation Paket sehr große Probleme für Produktverteilung verursachen kann, sollten Sie das beste Installation Produkt benutzen, das Sie finden können, selbst wenn es eine kostspieligere Spitze ist. InstallShield ist weitgehend geprüft worden und ist für einige Jahre ohne Probleme verwendet worden, die selbst ein guter Test für Störungen ist.

InstallShield kann einfaches sowie in hohem Grade schwierige Installationen durchführen. Es kann die API Anrufe der externen Bibliotheken sogar benennen, das für Schutz gut ist. Und, es kann auf verschiedene Ausrichtung Zustande während der Installation prüfen. Der Kleinteilschlüssel wird häufig während der Installation geprüft, und die Installation wird angehalten, wenn der korrekte Kleinteilschlüssel fehlt. Die Schwierigkeit des Entfernens dieses Schutzes hängt nur von der Qualität der DLL Bibliothek ab.

InstallShield verwendet seine eigene einfache scripting Sprache, die vermutlich die meisten wie C ist, und sobald das Installation Paket verursacht worden ist, die Akten in spezielle Akten zusammengedrückt werden. Beim Anbringen, werden alle Akten, die für Installation notwendig sind, in das Temperatur Verzeichnis und dann Durchlauf nur von dort dekomprimiert. Dieses hat den Vorteil, der, selbst wenn der Schutz entfernt werden kann, es noch nicht einfach ist, die Akten innerhalb des Installation Pakets zu ändern. (an diesem Schreiben, könnte eine Dekompressionseinrichtung für Version 5 von InstallShield seine komprimierten Akten aktualisieren, aber es gab noch nichts wie es für Version 6.)

Das schwierigste Teil des Knackens InstallShield-schützte Akten Lügen, wenn es den Schutz brach, der in der InstallShield Indexsprache programmiert wird. Die Sprache auszuprüfen ist schwierig, weil es sichtlichgrundlegendem im Pcode sehr ähnlich ist. Der Angreifer trifft ein Problem beim Versuchen, die Akte zu ändern an, die den Index enthält, den—die Akte durch eine zyklische Blockprüfung Überprüfung geschützt wird, und es ist sehr schwierig, die Änderung richtig durchzuführen, weil die Struktur der Akte ziemlich verwirrend und schwierig ist. Noch kann der Schutz gebrochen werden.

Bringen Sie Schild ist offenbar das beste Programm für das Verursachen der Installation Pakete an. Sie ist nicht nur mit Spielen aber auch mit den kostspieligsten Anwendungen verwendet worden.

ShareLock

ShareLock von der Nesbitt Software (http://www.nesbitt.com) ist kommerzieller Schutz, der DLL API Anrufe verwendet. Während es von Nesbitt eingestellt worden ist, wird es noch heute verwendet, also lassen Sie uns haben einen Blick an ihm.

Schutz ShareLocks ist komplizierter als ein Programm wie Vbox und erfordert Sie, einen API Anruf in den Code einzusetzen, um die geschützte Anwendung zu prüfen. Sie können entweder auf den Verfall einer Grenzzeit oder auf die Korrektheit der eingetragenen Zulassungsnummer prüfen. Der gesamte Schutz wird durch ein DLL Bibliothek angerufener ShareLk20.dll gesichert, das entweder im Verzeichnis mit der geschützten Anwendung oder im Windows System Verzeichnis sich befinden muß.

ShareLocks schwächster Punkt liegt im Schutz der DLL Bibliothek selbst, die sehr einfach zu ändern ist, weil sie keine zyklische Blockprüfung Überprüfungen hat. Andererseits ist die Zulassungsnummerberechnung sehr gut, und zu finden ist hart; um es zu finden, würde ein Angreifer ShareLk20.dll ausprüfen und eine Position für die Änderung im Programmcode finden müssen, an dessen Punkt das Programm sich benehmen würde als ob registriert.

Leider wenn dem Schutz leicht gebrochen werden kann dieses, gibt es keine Weise, die Anwendung gegen Angriff zu schützen. (möglicherweise könnte die geschützte Anwendung die Prüfsumme der DLL Bibliothek durchführen, um einen Angriff zu ermitteln.) Noch sind die schlechtesten Nachrichten, daß, sobald der ShareLk20.dll Schutz defekt ist, es möglich ist, (illegal) alle Anwendungen zu verwenden, die diesen kommerziellen Schutz verwenden, der hervorquellen kann ist, warum dieses Produkt eingestellt worden ist.

Das Gürteltier-Software-Schutz-System

Das Gürteltier-Software-Schutz-System ist kommerzieller Schutz vor Silikon-Reichen Toolworks (www.siliconrealms.com/armadillo.htm). Programme werden mittels eines nach dem zufall erzeugten kodierenschlüssels kodiert und zusammengedrückt.

Gürteltier enthält eine besonders interessante Funktion, die Entwicklern erlaubt, die ungültigen Zulassungsnummern einzutragen, die durch Cracker in eine Datenbank gefunden werden, damit solche Zahlen in den folgenden Versionen unfunktional sind. Gürteltier enthält auch Anti-Ausprüfen Tricks, die gegen SoftICE sich schützen.

Es ist einfach, Gürteltier zu handhaben, und wir betrachten einige seiner interessanteren Eigenschaften in der folgenden Liste. Gürteltier hat eine sehr gute Hilfe-Funktion auch; um mehr über eine bestimmte Wahl zu erlernen, wählen Sie sie einfach vor um seine Beschreibung zu lesen oder die Hilfe-Funktion zugänglich zu machen.

Die Kleinteile, welche die Wahlen verriegeln (Pro) mit den verriegelnden Kleinteilen, die Zulassungsnummer ändern für jeden Computer, entsprechend den verschiedenen Parametern, die Sie hier einstellen.

Berichten Sie nicht über die Taktgeber-Zurück Schutzüberprüfung ist untauglich, wenn die Zeit zurück nicht auf das System des Benutzers gedreht wurde. Dieser Schutz sollte gesperrt werden, nur wenn Ihr Programm Probleme mit ihm hat.

Bescheinigungen boxen definiert Schlüssel für Produkt-Schutz, wenn Bescheinigungen benutzt werden, das Programm können nur mit diesen Bescheinigungen registriert werden. Sie können verschiedene Wahlen für diese Bescheinigungen in den Unterprogrammen einstellen.

Verursachen Sie FixClock Schlüssel, wenn ein Benutzer den Zeitschutz bricht und das Datum ändert, das Programm, das von Armadillo geschützt wird, aufhört zu arbeiten. Wenn der Benutzer das Programm in diesem Format laufen läßt: program_name fixclock, wird er gebeten, den sogenannten "fixclock" Schlüssel einzutragen. Wenn er den korrekten Schlüssel einträgt, fängt das Programm an, normalerweise zu arbeiten.

Gürteltier ist ein sehr gutes Programm, aber zu entfernen ist zu einfach, von einem geschützten Produkt. Z.B. muß der ganzer Cracker tun soll warten, bis das Programm in Gedächtnis lädt und sich decodiert, an dessen Punkt er das Programm von Gedächtnis zu Scheibe entleeren kann und etwas kleine Änderungen vornimmt, damit das Programm völlig funktionell ist. Gürteltier selbst bildet den Job des Crackers einfacher, weil er einen Prozeß im Gedächtnis mit dem gleichen Namen verursacht, der das geschützte Programm, außer dem Suffix, TMPO. Dieser Prozeß wird völlig decodiert, nachdem man in Gedächtnis geladen hat, und der ganzer Cracker muß tun soll es zum Festplattenlaufwerk entleeren.

Gürteltier kann eine gute Wahl für shareware Programmierer sein, die weniger Erfahrung mit der Schutzprogrammierung haben. Diese Anwendung schaut wirklich professionell, und ich hoffe, daß seine Schöpfer eine Weise finden, sie in den neueren Versionen zu verbessern. Z.Z. obwohl, ich nicht Gürteltier empfehlen kann, weil zu entfernen so ist einfach, obwohl weniger erfahrene Cracker vermutlich so tun nicht können, — es sei denn selbstverständlich sie einen Decoder benutzen, der auf dem Internet gefunden wird.

· Prüfen Sie Akte Kompression: 1.007.806 Bytes

· Dekompressionseinrichtung: Un-Gürteltier und Gürteltier-Mörder

Vbox

Vbox von den Aladdin Wissen Systemen (http://www.ealaddin.com) ist eins der ältesten und am häufigsten verwendeten kommerziellen Schutzprogramme für Windows. Während es meistens für shareware verwendet wird, werden Demoversionen der kostspieligen Programme manchmal mit ihm außerdem geschützt.

Der Vbox Schutz basiert auf Grenzzeiten. Ein Fenster erscheint, jedesmal wenn ein Vbox-geschütztes Programm ausgestoßen wird, und von diesem Fenster können Sie das Programm selbst laufen lassen, bis die Grenzzeit abläuft.

Die ersten Versionen von Vbox wurden TimeLock genannt und waren sehr populär. Für Schutz TimeLock 2 Anrufe des Gebrauches API vor der tl32v20.dll Bibliothek, benannt vom geschützten Programm. Die geschützte Anwendung prüft die Rückholwerte und entscheidet, ob sie fortfährt zu laufen oder nicht. Sie sieht wie dieses im Programm aus:

Anruf CallTimeLock 

Nachdem dieses zurückgeht, sollte das EAX Register einen Rückholwert enthalten, dem schwankt abhängig von, ob der Test oder nicht erfolgreich war.

TimeLock 3.03 Bis 3.10

Verbesserungen in diesen Versionen von TimeLock schließen die kodierung bestimmter Teile des Programms und der Vorbetrachtung ein, die den Eingang (Beginn) des Programms einstellt. Diese Vorbetrachtung enthält eine Menge Vbox Code, der das Ausprüfen schwierig bildet.

Ein API Anruf am Anfang des Programms hat einen ziemlich ungewöhnlichen Namen:

Anruf tl303inj.PleaseTraceIntoMe_MrCracker

Das kodierte Teil der Anwendung wird in dieser Funktion decodiert, und der Rückholwert ist der Eingang des geschützten Programms (oder falls von einer Störung, von der Adresse für den ExitProcess API Anruf). Der Rückholwert ist im EAX Register wieder, und die letzte Anweisung soll eax benennen, das in diesem realen Eingang des Programms springt (oder beim ExitProcess API Anruf falls von einer Störung).

TimeLock 3.13 Bis 3.15

Diese Versionen holten einige Innovationen:

·Kodierung alles Programmcodes

· Kodierung von Abschnitt idata

· Berechnung der zyklischen Blockprüfung der Bibliothek DLL des Schutzes im Gedächtnis

Das Programm, das mit diesen Versionen decodiert, ist nicht so einfach wie mit den vorhergehenden. Für eine Sache werden kodiereninformationen in einem kodierten idata Teil gespeichert. Auch die zyklische Blockprüfung Steuerung des tl315inj.dll ist im Gedächtnis, das den Schutz gegen Gebührenstafflungspunkte (Gebührenstafflungspunkte selbstverständlich, nicht ausprüfen) sichert, sowie gegen Änderungen im Code. (Sie können des Weijun Li im Code finden Initialen; er ist vermutlich der Leitung Programmierer.)

Vbox 4.0 Bis 4.03

In dieser Version erschien Vbox zuerst, wie wir es heute kennen. Diese Version, manchmal genannt TimeLock 4, enthält viele Verbesserungen. Das geschützte EXE wird zusammengedrückt, und der kodierte idata Abschnitt ist in einer unterschiedlichen Akte. Der Schutz selbst ist in drei DLL Bibliotheken:

Vboxp4xx.dll dekomprimiert und lädt DLL Akten

Vboxt4xx.dll enthält das Grundprogramm für Schutz des PreviewParadise_WJ

Vboxb4xx.dll lädt vboxt4xx.dll und benennt PreviewParadise

Die letzten zwei DLL Bibliotheken werden zusammengedrückt, aber kodiert nicht, und Informationen über die importierten Anrufe werden gespeichert.

Zwei Teile in der Akte, genannt Vorbetrachtung und WeijunLi, enthalten eine gute Spitze des Codes und der kodierten Daten. Das erste Teil enthält normalen Code, während die Sekunde zusammengedrückt wird. Sobald ein geschütztes Programm ausgestoßen wird, ist der erste Anruf zu vboxpxx.PreviewExecGate_By_WeijunLi, das das ursprüngliche Programm in der Vorbetrachtung dekomprimiert.

Sobald alles decodiert worden ist, enthält ein kleines Stück des Codes einen Anruf zu einer Funktion, die von vboxbxx.dll exportiert wird. Diese Funktion ist auch erste dekomprimiert mit vboxpxx.PreviewExecGate_By_WeijunLi, bevor sie ausgestoßen wird, und sie benennt vboxtxx.PreviewParadise_WJ. Diese Funktion führt auch die zyklische Blockprüfung auf der geschützten Akte, sowie auf den vboxt4xx.dll und vboxb4xx.dll Akten durch. Wenn zyklische Blockprüfung falsch ist, arbeitet das Programm mit einem falschen Decodierung Schlüssel, und nach der falschen Decodierung, ist die zyklische Blockprüfung auch für die decodierten Daten falsch. Das Programm zeigt dann eine Fehlermeldung an.

Vbox 4.10

Diese Version enthält die folgenden Neuheiten:

· CRCs für alle wichtigen Akten autorisieren Signale

· CRCs für DLL Archivexemplare werden im Gedächtnis errechnet

· Das Programm versucht, einen Debugger im Gedächtnis zu ermitteln

Wenn jemand versucht, den vboxp410.dll Code in WinDasm auseinanderzubauen, tritt eine Störung im Programm auf. IDA (wechselwirkender Disassembler)IST, aber es verursacht falschen Code adaequat.

Vbox 4.3

Diese neueste Version von Vbox bietet guten Schutz an, obwohl sie zum Entleeren vom Gedächtnis verletzbar ist (gerade wie Gürteltier). Egal wie umfangreich der Code, Sie nicht versuchen müssen, sie alle zu verstehen, um sie zu knacken. Alles, das Sie tun müssen, soll den Anfang des kodierenprogramms finden und ihn vom Gedächtnis entleeren. (wenn die Autoren dieses Problem in den zukünftigen Versionen lösen, ist Vbox definitiv eins von den besten der kommerziellen Schutzpakete.) Erbaueranwendung Vbox Vboxs bildet es sehr einfach, eine geschützte Anwendung zu verursachen.

Es ist sehr einfach, ein Ausgangsdialogfeld für Ihr Programm mit Vbox zu verursachen, wenn Sie das Programm ausstoßen, Sie einstellte einen Weg auf die Vbox Privilegakte, die jeder Benutzer vom Software-Verleger erreicht. Um diese Privilegakte zu erreichen, klicken Sie die erhaltenprivileg-Akte Taste an. Ihre Datenbanksuchroutine zeigt die Seite des Verlegers an, und Sie müssen einen Fragebogen heraus füllen. Innerhalb einiger Minuten sollten Sie ein email empfangen, das eine kurze Akte mit der prv Verlängerung enthält. Klicken Sie zunächst und tragen Sie einen Dateinamen für die Vbox Lizenz-Informationen Akte, ein und tragen Sie dann ein Kennwort ein, um nicht autorisierte Leute am Arbeiten mit Ihrer Lizenzakte zu hindern. Zunächst wählen Sie die Sprache, in der Sie arbeiten möchten, vor und tragen Sie des den Namen Autors, das Produkt, die Version, das Jahr und die Produktkennummer ein.

In folgenden Menüs, tragen Sie die wichtigsten Informationen, einschließlich Beschränkungen auf der Höchstzahl der Produkteinführungen oder Tage ein, oder an dem ein Datum die Probeperiode der Anwendung abläuft. Im vorgerückten

Sicherheit Wahlen Menü, stellen Sie den Schutz der Anwendung ein. Wenn Sie Software-Schwergängigkeit vorwählen, sind Benutzer nicht imstande, die Anwendung zu einem anderen Computer wegen der geheimen Akten auf dem Festplattenlaufwerk zu kopieren. Wenn Sie Kleinteil-Schwergängigkeit wählen, werden Informationen über die Computerhardware verwendet, um die genehmigte Maschine zu kennzeichnen.

· Prüfen Sie Akte Kompression: 835.320 Bytes

· Dekompressionseinrichtung: Vbox Unwrapper

Der Slowakische Schutz (SVKP)

Es ist besonders haltbar, über Ihr eigenes Produkt ohne schräge und mit maximale Objektivität zu schreiben, wie Sie sich vorstellen konnten, und der slowakische Schutz ist mein Produkt. Noch verspreche ich, an den Tatsachen zu haften und so objektiv zu sein, wie möglich.

Der slowakische Schutz (SVKP) ist der kommerziellen Schutzprodukte das jüngste, die hier beschrieben werden. Als, das SVKP entwickelnd, nahm ich das beste der neuesten Tendenzen an und infolgedessen konnte das SVKP wie ASProtect aussehen. Jedoch verlängert diese Ähnlichkeit nur auf ihr Aussehen und einige Funktionen. Die des SVKPs innere Struktur ist zu ASProtect vollständig unterschiedlich, und sie ist das einzige der Schutze, die ich mich besprochen habe, der im Versammlungsteilnehmer programmiert wird. Die Tatsache, daß sie mit Versammlungsteilnehmer errichtet wird, garantiert großer Geschwindigkeit und läßt einige spezielle Programmierung Techniken zu, die zu vieler anderer vorgerückte Programmiersprachen nicht erreichbar sind.

Wie mit ASProtect,IST das SVKP in der Lage, Teile einer geschützten Anwendung zu kodieren, die dann ist, nur mit dem rechten Ausrichtung Schlüssel decodiert zu werden. Es verwendet RSA Schlüssel der Länge 2048-bytes', die es unmöglich, falsche Ausrichtung Schlüssel zu erzeugen bildet. Um so zu tun, würde ein Cracker den privaten Schlüssel gefunden haben müssen, aber den privaten Schlüssel solch einer langer Länge durch Berechnung zu erhalten ist einfach nicht mit gegenwärtigen Computersystemen möglich.

Werden, kompilierte Programme in den Bestimmungsort executables geschützt (EXE, DLL, OCX oder Störungsbesuch). Die geschützte Anwendung wird nicht zusammengedrückt, aber sie wird durch den Rijndael Algorithmus kodiert (alias AES). Dieser Algorithmus schützt sich gegen Rohling-Kraft Angriffe, und der Mangel an Kompression garantiert, daß das Programm schnell läuft.

Diese Arten des Anwendung Schutzes sind denen ähnlich, die in ASProtect verwendet werden:

Kodierung der kompilierten Anwendung, die, wenn zwar nicht sehr sicher, in einigen Fällen ausreichend ist.

Die Vorteile dieses Schutzes sind leicht anwendbar und Schnell, und der die Anwendung kann seine eigene Ausrichtung Steuerung verwenden. Die geschützte Anwendung verwendet die SVKP Ausrichtung Schlüssel. Sie verwendet API Funktionen, um festzustellen, ob der rechte Ausrichtung Schlüssel verwendet wird.

Blöcke (Funktionen) in der geschützten Anwendung werden nur mit der rechten Ausrichtung Akte decodiert. Diese Blöcke, einfach Markierung Orte oder Teile der Anwendung benutzen, daß Sie Leute am Verwenden ohne den rechten Ausrichtung Schlüssel hindern möchten, bevor die geschützt zu werden kompiliert wird Anwendung. Dieses ist eine sehr einfache Weise, eine geschützte Demoversion eines Programms zu verursachen. Z.B. wenn Sie AUSSER kennzeichnen, vor Kompilation gesperrt zu werden, wird der Benutzer (ohne den rechten Ausrichtung Schlüssel) mitgeteilt, daß die SICHERUNGSFUNKTION in der Demoversion gesperrt wird. Sobald das Programm mit dem korrekten Ausrichtung Schlüssel registriert wird, sind die markierten Funktionen sofort zugänglich.

Wir haben momentan Einfassungen eines sehr ernste Problems wir, wenn es zum kommerziellen Schutz kommt: das Veröffentlichen der Ausrichtung Schlüssel auf dem Internet. Wenn ein Cracker ein Programm (eine gestohlene Kreditkarte normalerweise verwendend) kauft und den rechten Ausrichtung Schlüssel erhält, hat er zwei Möglichkeiten. Zuerst kann er versuchen, den Schutz zu entfernen, der nicht einfach ist, wenn das Programm durch das SVKP geschützt wird. An zweiter Stelle (und ein viel attraktiveres possiblity zu ihm), kann er den gestohlenen Ausrichtung Schlüssel auf dem Internet veröffentlichen. In diesem Fall kann jedermann, das diesen Adreßschlüssel verwendet, ihre Demoversion zu ein völlig Funktionsprogramm machen.

Das SVKP, das ASProtect und das Gürteltier alles Angebot, welches die geschützten Anwendung speziellen Schlüsselarten für einen spezifischen Computer zu den Benutzern erzeugten, die beabsichtigen zu registrieren. Ein Vorteil dieser Schlüssel ist, daß sie nicht zwischen Computer verschoben werden können; so ihre Publikation auf dem Internet nicht Drohung der Schutz der Anwendung.

Selbstverständlich gibt es einige Nachteile, außerdem. Für ein erfordert Ausrichtung den Benutzer, Daten über seinen Computer zu einem Bediener zu schicken, bevor der Schlüssel erzeugt wird, aber nicht jeder Benutzer mag den tun. Auch arbeiten keine der aufgeführten Schutze online, also könnte eine Ausrichtung gebildet werden direkt mit seinen API Funktionen. (weitere Entwicklung geht wahrscheinlich in Richtung zum Ermöglichen und zum Zahlen für Ausrichtung direkt durch ein Schutzprogramm voran, ohne zur Ausrichtung Web site oder zum Aufstellungsort des Produzenten gehen zu müssen.)

Das größte Problem entsteht jedoch mit einer Änderung der Kleinteile. Wenn der Benutzer seine Kleinteile ändert, stoppt der Schlüssel zu arbeiten, und ein nagelneues man muß erzeugt werden. Es ist aus diesem Grund, daß die meisten Entwickler erlauben, daß Schlüssel zwischen Computer gebracht werden.

Das SVKP schließt etwas andere progressive Technologien auch, das wichtigste von ein, welchen API Anrufe, die einer geschützten Anwendung ermöglichen, seinen Schutz zu sein, nämlich die Funktion SVKP_GetRegistrationInformation sind. Anders als andere Schutze enthält das SVKP auch API Funktionen mit aktivem Schutz, einschließlich SVKP_LockKeybord, SVKP_KillDebugger, Namen, die ihren Zweck aufdecken.

Zusätzlich zu den klassischen kodierten Blöcken die nur mit dem rechten Ausrichtung Schlüssel decodiert werden, schließt das SVKP zwei andere Blockarten ein. Die erste Art wird nach rechts decodiert, bevor Start-up und, nach Durchführung, der Programmcode, der den Block enthält, sofort gelöscht wird. Ich empfehle, daß Sie diesen ersten Block eintippen Ausgangscodeteile benutzen.

Die zweite Blockart wird auch nach rechts vor Start-up decodiert, aber es wird wieder sofort nach Durchführung kodiert. Benutzen Sie diese Blockart für kritische Codeteile.

Alles Athough der oben genannten Technologien schützen sich gegen das Entleeren, und die SVKP und anderer kommerzieller Schutz enthalten aktiven Schutz gegen das Entleeren vor Gedächtnis, es ist nicht genug. Diese Technologie bietet einen sehr wirkungsvollen Schutz gegen das Entleeren eines Programms vor Gedächtnis und es dann auseinanderbauen an.

Lassen Sie uns einen anderen Blick an etwas von der Technologie nehmen, die in das SVKP und die Weise für es Adressen die Probleme Indikatoren und Debuggern, sowie die Weise halten errichtet wird, die sie versucht, Metamorphismus zu enthalten, um Schutz zu erhöhen.

Indikatoren

Ein Indikator ist ein Programm, das Cracker verwenden, zu versuchen, um die geschützte Anwendung auf Start-up zu analysieren, oder während es läuft. Der bekannteste Indikator ist IceDump, das eine Steckverbindung zu Soft-ICE ist.

Der Indikator analysiert Anweisungen direkt im Maschine Code, der bedeutet, daß es ein wirklich einfaches Programm ist. Aber, wenn ein Indikator gut entworfen ist, kann er in einer Vielzahl von Weisen verwendet werden und nur die Phantasie des Crackers in Abhängigkeit von. Gebrauchindikatoren der Cracker meistens, zum der Importtabellen zu reparieren, die häufig durch kommerzielle Schutze benutzt werden, um ein Programm an entleert werden einfach zu verhindern vor dem Gedächtnis. Indikatoren werden auch benutzt, um geschützte Anwendungen zu decodieren, indem man den Code analysiert und wartet, bis die Anwendung decodiert ist. Sobald der Indikator findet, daß die Anwendung decodiert worden ist, entleert sie sie vom Gedächtnis. Das SVKP ist einer nur einiger kommerzieller Schutze, der Indikatoren kämpft.

Debugger

Debugger sind dennoch ein anderes Problem. Das SVKP verwendet einige nagelneue Tricks, um Debugger zu ermitteln, und es ist der einzige Schutz, der fähig ist, alle Arten Gebührenstafflungspunkte zu ermitteln und zu entfernen, die durch Debugger verwendet werden.

Metamorphismus

Metamorphismus ist eine Technologie mit einer sehr vielversprechenden Zukunft, obwohl er selten verwendet wird. Das jüngste (und die schwierigsten) aller aufgeführten Technologien, Metamorphismus versucht, das Problem geschützter Codewiederholbarkeit zu lösen, die die Tatsache abstammt, daß gegenwärtige Schutze mehr oder weniger gleich sind. Sobald ein Cracker darstellt aus, wie man eine Art Schutzentwurf bricht, ist es einfach für ihn, sie immer wieder und innen zu brechen kleiner und weniger Zeit. Metamorphismus versucht, dieses zu verhindern, indem er den Schutz jede Zeit, die ändert er verwendet wird und so ihn härter für den Cracker, den Schutz zu brechen bildet. Keine der Schutze boten Gebrauch vollen Metamorphismus z.Z. an, obwohl das SVKP nahe kommt, da es viel einfacher ist, Metamorphismus im Versammlungsteilnehmer als in vorgerückten Programmiersprachen zu verwenden.

Ich überlasse ihm Sie, um zu entscheiden ob der Schutz des SVKPs bin irgendwie besser (oder schlechter) als irgendein anderer, und ich hoffe, daß Sie nicht meine auch beeinflußt zu werden Meinung, gefunden haben.

dieses ist ein Artikel, der von Paquel Mason hinzugefügt wird


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions