Hat jemand einen guten Verschleierer für PHP verwendet? Ich habe einige ausprobiert, aber sie funktionieren nicht für sehr große Projekte. Sie können beispielsweise keine Variablen verarbeiten, die in einer Datei enthalten sind und in einer anderen verwendet werden.
Oder haben Sie andere Tricks, um die Verbreitung Ihres Codes zu stoppen?
php
obfuscation
user29593
quelle
quelle
Antworten:
Sie können PHP Protect ausprobieren , einen kostenlosen PHP-Verschleierer, um Ihren PHP-Code zu verschleiern.EDIT: Dieser Dienst ist nicht mehr live.Es ist sehr schön, einfach zu bedienen und auch kostenlos.
Was andere hier darüber geschrieben haben, dass keine Verschleierung verwendet wird, weil sie kaputt gehen kann usw .:
Ich habe nur eine Antwort: Schließen Sie Ihre Haustür nicht ab, weil jeder Ihr Schloss öffnen kann.
Dies ist genau der Fall, die Verschleierung soll nicht 100% Code-Diebstahl verhindern. Es muss nur eine zeitaufwändige Aufgabe sein, damit es billiger ist, den ursprünglichen Codierer zu bezahlen. Hoffe das hilft.
quelle
Die Leute werden Ihnen Verschleierer anbieten, aber keine Verschleierung kann jemanden daran hindern, an Ihren Code zu gelangen. Keiner. Wenn Ihr Computer es ausführen kann oder wenn Filme und Musik es abspielen können, kann der Benutzer darauf zugreifen. Selbst das Kompilieren in Maschinencode macht die Arbeit etwas schwieriger. Wenn Sie einen Verschleierer verwenden, täuschen Sie sich nur. Schlimmer noch, Sie verbieten Ihren Benutzern auch, Fehler zu beheben oder Änderungen vorzunehmen.
Musik- und Filmunternehmen haben sich noch nicht ganz damit abgefunden, sie geben immer noch Millionen für DRM aus.
In interpretierten Sprachen wie PHP und Perl ist das trivial. Perl hatte früher viele Code-Verschleierer, dann haben wir festgestellt, dass Sie sie trivial dekompilieren können.
PHP hat Dinge wie DeZender und Show My Code .
Mein Rat? Schreiben Sie eine Lizenz und holen Sie sich einen Anwalt. Die einzige andere Möglichkeit besteht darin, den Code nicht herauszugeben und stattdessen einen gehosteten Dienst auszuführen.
Siehe auch den Perlfaq-Eintrag zu diesem Thema .
quelle
Nichts wird perfekt sein. Wenn Sie nur möchten, dass Nicht-Programmierer durch etwas gestoppt werden, können Sie Folgendes verwenden:
quelle
Ich bin mir nicht sicher, ob Sie die Verschleierung einer interpretierten Sprache als sinnlos bezeichnen können (ich kann Schwerns Beitrag keinen Kommentar hinzufügen, daher hier ein neuer Eintrag).
Ich denke, es ist ein wenig kurzsichtig anzunehmen, dass Sie alle möglichen Szenarien kennen, in denen jemand Code verschleiern möchte, und Sie gehen davon aus, dass jeder tatsächlich bereit ist, alle erforderlichen Anstrengungen zu unternehmen, um diesen Code anzuzeigen, sobald er verschleiert ist. Betrachten Sie mein aktuelles Szenario:
Ich arbeite für ein Beratungsunternehmen, das eine große und ziemlich ausgefeilte PHP-basierte Site entwickelt. Das Projekt wird auf dem Server eines Kunden gehostet, auf dem andere Websites gehostet werden, die von anderen Beratungsunternehmen entwickelt wurden. Technisch gesehen gehört jeder Code, den wir schreiben, dem Client, daher können wir ihn nicht lizenzieren. Jede andere Beratung (Mitbewerber) mit Zugriff auf den Server kann unseren Code jedoch kopieren, ohne zuvor die Erlaubnis des Kunden einzuholen. Wir haben daher einen echten Grund zur Verschleierung - die Anstrengungen zu unternehmen, die ein Wettbewerber benötigt, um unseren Code besser zu verstehen, als die Mühe, eine Kopie unserer Arbeit von Grund auf neu zu erstellen.
quelle
In unserem SD Thicket PHP Obfuscator finden Sie einen Obfuscator, der mit beliebig großen Seitenmengen einwandfrei funktioniert. Es funktioniert hauptsächlich durch Verwürfeln von Identifikatornamen. Bei bescheidenen bis großen Anwendungen kann dies den Code extrem schwer verständlich machen, was der gesamte Zweck ist.
Es verschwendet keine Energie für "eval ( decode ( encodedprogramcode ))" - Schemata, die viele PHP- "Obfuscators" ausführen [dies sind "Encoder", nicht "Obfuscator"], da jeder Clod diesen Aufruf finden kann und führen Sie die Auswertung selbst aus und erhalten Sie den dekodierten Code.
Es verwendet einen sprachgenauen Parser, um das PHP zu verarbeiten. Hier erfahren Sie, ob Ihr Programm syntaktisch ungültig ist. Noch wichtiger ist, dass es die ganze Sprache genau kennt; Es geht nicht verloren oder wird verwirrt, und Ihr Code wird nicht beschädigt (außer wenn Sie "falsch" verschleiern, z. B. wenn Sie die öffentliche API des Codes nicht korrekt identifizieren).
Ja, es werden Bezeichner über Seiten hinweg identisch verschleiert. Andernfalls würde das Ergebnis nicht funktionieren.
quelle
Das Beste, was ich gesehen habe, ist Zend Guard .
quelle
Versuchen Sie dies: http://www.pipsomania.com/best_php_obfuscator.do
Kürzlich habe ich es in Java geschrieben, um meine PHP-Projekte zu verschleiern, da ich keine guten und kompatiblen Ready-Dateien im Internet gefunden habe. Ich habe beschlossen, es als Saas online zu stellen, damit jeder es kostenlos nutzen kann. Es ändert nicht die Variablennamen zwischen verschiedenen Skripten, um maximale Kompatibilität zu gewährleisten, sondern verschleiert sie sehr gut, mit zufälliger Logik auch für jede Anweisung. Saiten ... alles. Ich glaube, es ist viel besser als diese fehlerhafte Codeeclipse, die übrigens in PHP geschrieben und sehr langsam ist :)
quelle
Thicket ™ Obfuscator für PHP
quelle
:(
Das ist sowieso tote Software. Es gibt jetzt bessere und großartige, oder?Die Verwendung von SourceGuardian ist gut, da es eine coole und einfach zu bedienende Benutzeroberfläche bietet.
Aber sei dir bewusst:
Beachten Sie die - eher witzigen - Lizenzbedingungen.
quelle
Durch die Verschleierung wird Ihrem Programm nur eine weitere Ebene potenzieller Fehler und Sicherheitslücken hinzugefügt. Bitte tu es nicht.
Die Art von Leuten, die Verschleierungssoftware schreiben, scheint normalerweise sowieso sehr lückenhaft und unqualifiziert zu sein.
Wenn Ihr Code "großartig" ist, werden Cracker große Anstrengungen unternehmen, um ihn zu verbreiten, unabhängig davon, ob er verschleiert ist oder nicht. Wenn niemand Ihren Code kennt / sich darum kümmert, wird er dies wahrscheinlich auch nicht tun.
quelle