Frage

Ich versuche, einen Code mit Objektiv-C auf einem Mac schwer zu knacken.

Eines der Dinge, die ich tun muss, ist zu prüfen, ob die Anwendung geknackt war.

Ich bin neu in Objective-C und Xcode und wie ich mir vorstellen kann, meine Anwendung zu testen. Ich beende immer in einem grundlegenden Test, der leicht gepatcht werden kann.

Zum Beispiel: Angenommen, ich werde kurz davor stehen, auf die Existenz eines bestimmten Wertes in einem bestimmten Teil des Binärs zu existieren. Diese Operation wird so etwas wie:

"Ist dieser Wert = x?" Wenn nein, ist es geknackt.

Dies ist sehr leicht zu knacken. Der Hacker kann den Test problemlos pflücken und immer wahr sein.

Ich versuche mir etwas vorzustellen, das etwas testen könnte und nicht als Test auftritt, der leicht gepatcht werden kann.

Ich weiß, dass ich nicht 100% Piraterie aufhalten kann, aber zumindest versuche ich, die Dinge schwieriger zu machen, um den größten Teil von Crackern da draußen zu entmutigen.

Irgendwelche Ideen von Dingen wie dieses können ohne getan werden und machen die Dinge für jemanden, der die Binärin schaut, schwierig?

Danke für jede Hilfe.

War es hilfreich?

Lösung

Machen Sie es ihnen schwer, Ihr Programm zu bewerten und Ihr Programm regelmäßig zu ändern. Ein Lehrbuchbeispiel besteht darin, die Überprüfung in ungeraden Intervallen durchzuführen, die zeitaufwändig für sie sind, um die Quellen Ihrer Schecks und alle Kreuzreferenzen während des Fortschritts der Lizenzbewertung zu finden. Kombinieren Sie das mit mehreren Überprüfungen und Sie sollten für die meisten Veröffentlichungen festgelegt werden. Fügen Sie einfach eine gute Dosis Kreativität hinzu, wenn Sie Ihr Schema erstellen. Außerdem macht es ein bisschen Spaß, ihr Spiel zu spielen. Damit sie einen Riss veröffentlichen können, der 1 Monat nach dem Veröffentlichen des Cracks versagt ... OK, das kann Ihnen nur nach hinten losgehen, aber wenn Sie sich bemühen, sie überhaupt zu bekämpfen ...

Es ist eine interessante Gemeinschaft; Wenn Sie neu sind, ist das Studium der Gemeinschaften ebenfalls von Vorteil. Wie bereits erwähnt, werden Risse für die Herausforderung geschehen, einige Produktversionen vereinfachen ihr Kopierschutzschema für "kostenlose Werbung". Also ... Sie können nicht wirklich kämpfen, um zu hart zu knacken, denn wenn jemand entschlossen ist, verschwendet es einfach Ihre Zeit und frustriert Sie. Die Kultur zu beobachten kann interessant sein. Sie sind wahrscheinlich in der besten Position, wenn Sie anerkennen, dass es mit „beliebter Software“ geknackt wird, und daher sollten Sie glücklich sein. Sie sollten im Allgemeinen nicht viel Schlaf darüber verlieren (obwohl es natürlich Ausnahmen davon gibt). Darüber hinaus, da diese Frage in der MAC -Kategorie aufgeführt ist: Ich werde keine Statistiken ausgraben, aber Ihre Software erhält seltener Aufmerksamkeit von Cracks, wenn Sie auf OS X abzielen.

Wenn Sie ein Anfängerprogrammierer sind, ist die clevere Verwendung dieser Informationen (und Akzeptanz) möglicherweise alles, was Sie wissen müssen, um Cracker effektiv zu bekämpfen.

Andere Tipps

Wenn Ihre Software nicht mit Sicherheit verbunden ist, denke ich, dass ein besserer Ansatz Ihren Lizenzplan ändern würde, um die Software für Heimnutzer frei zu gestalten, die die Software kaum nutzen und für Organisationen teuer sind.

Organisationen verwenden aufgrund der rechtlichen Probleme selten geknackte Software, bei denen als Heimnutzer gelegentliche Benutzer nicht gerne 100 US -Dollar für die Verwendung der Software ab und zu gerne ausgeben.

Dies würde die Motivation von Crackern wegnehmen, die Software zu knacken.

Nicht. Denken Sie daran, (gut) Cracker Crack Software zum Spaß. Je ausgefeilter Ihr Schutzschema ist, desto schwieriger und unterhaltsamer wird es für den Cracker sein. Außerdem werden Personen, die Ihre Software wahrscheinlich illegal verwenden, sowieso nicht dafür bezahlen, auch wenn sie keine geknackte Version erhalten können. Ihre Zeit wird besser damit verbracht, Ihr Produkt besser zu machen.

Trotzdem können Sie die meisten Amateur -Cracker abschrecken, indem Sie Ihre ausführbare Datei von Debugging -Symbolen entfernen. Sie müssen dies in Projekteinstellungen aktivieren.

Alle wirklich starken Schutzschemata, die mir der Verwendung bewusst bin selbstmodifizierender Code Ausgiebig auf die eine oder andere Weise. Dies ist jedoch definitiv nicht etwas, auf das ein Anfängerprogrammierer vorbereitet sein sollte.

Eine Gefahr besteht darin, dass Sie, wenn Sie zu übermäßig hohe Anstrengungen unternehmen, möglicherweise Dinge für legitime Benutzer brechen. Eine Reihe von Ataris Arcade -Maschinen in den 1980er Jahren hatte Code, der verschiedene interessante Dinge tun würde, wenn er feststellte, dass das ROM geändert wurde. Die Auswirkungen wären subtil; Zum Beispiel würde ein Spiel namens Tempest unbegrenzte kostenlose Spiele vergeben, wenn das Spiel endete, wenn ein Spieler bestimmte Punktzahlwerte hatte. Im Release -ROM des Sturms wurde jedoch die Prüfsumme falsch berechnet, sodass alle Maschinen dieses Verhalten hatten. Ich bin mir nicht sicher, inwieweit dieser Fehler die Einnahmen in Feldmaschinen ausgewirkt hat, aber ich würde mir vorstellen, dass einige Betreiber ziemlich verärgert wären, wenn sie es entdeckt hätten.

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