| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
Diskussion: Das uncrackbare Programm - ein Ansatz? im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Der im Moment verbreitete Ansatz, den Aufwand für den Cracker zu steigern heißt "Code Virtualisierung". Dabei gibt es 2 ...
![]() |
| | #31 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Anzeige Der im Moment verbreitete Ansatz, den Aufwand für den Cracker zu steigern heißt "Code Virtualisierung". Dabei gibt es 2 grobe Ansätze: 1. ein Opcode (Assembly Anweisung) wird durch einen Block ersetzt, der das gleiche macht - nur mit 10-100 Anweisungen. Praktisch gesehen "obfuscation" auf der untersten Stufe. 2. Es wird eine VM erstellt, für die zufällige Opcodes generiert werden (äquivalent zu echten IA-32 bzw 64 Bit Anweisungen). Die Anweisungen im Programm werden zu diesen übersetzt. In beiden Fällen ist der Aufwand zum "Rückgängigmachen" teilweise enorm (da die Blöcke sehr generisch erstellt werden können, ist ein allgemeiner Unpacker nur sehr schwer umsetzbar. Und für ein einzelnes Programm wird man schon seine 30-50h benötigen, um zumindest die meisten Opcodes zu erkennen und rückgängig zu machen). Vorteil: diese Verfahren lassen sich zum einen besser austesten (und sind es i.R auch Nachteil: Performanceeinbrüche. Das VM Vorgehen ist erst mit den aktuelleren CPUs überhaupt möglich und sollte sich trotzdem auf wichtige Routinen beschränken. Auch hier bestehen theoretische Angriffsmöglichkeiten genau wie bei Deinem Ansatz. D.h der Programmier sollte zum einen die Dokumentation der Tools lesen sowie die SDK einsetzen. Zumindest globale Variablen a la "registered == True/False" vermeiden. Dann wird es aber für den "bösen Cracker" schon recht haarig. Zum anderen werden z.B bei einer Shareware/Demoversion die "Vollfunktionen" asymetrisch verschlüsselt und können nur mit einem gültigen Key freigeschaltet werden. Wie hier schon mehrfach erwäht: Dein Ansatz ist in dem Sinne nicht neu http://forum.ioncube.com/viewtopic.php?t=3309 [B]nick[/B] Durch den Schutz gibt es zwangsläufig mehr Bugs. Sehr bekannt z.B im Zusammenhang mit Starforce http://www.pcwelt.de/news/Ubisoft-ve...tz-118433.html (inoffizieller Grund für den Verzicht waren afaik auch die hohen Supportkosten, da auch viele legitime Kunden betroffen waren) Man bräuchte einfach eine realistische Kalkulation: wieviel verliert man tatsächlich durch "Raubkopierer" (dabei sollte eben berücksichtigt werden, dass bei weitem nicht jeder von denen sich die Software sonst gekauft hätte), welche Kosten entstehen durch den Support, den Mehraufwand beim Testen/Implementieren sowie Verlust der Kunden, die durch Kopierschutzbugs abgeschrekt werden.
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #32 (permalink) | |
| Themenstarter Registriert seit: 24.01.11 ![]() Likes: 0 | Zitat:
| |
| | |
| | #33 (permalink) |
| Registriert seit: 06.03.11 ![]() Likes: 0 | Ich bin mir im klaren darüber , dass ich wegen meiner folgenden (dummen?) Frage verbal vergewaltigt werde , aber : Warum löscht man nicht aus dem gesamten Programm die Abhängigkeiten von crval? Oder ist das für euch die zu große Arbeit bei x-tausend Seiten Code ? Hier wird nur von Einsetzungen von true oder false geredet aber nicht vom simplen löschen. Versteh ich da was falsch beim Patchen? |
| | |
| | #34 (permalink) |
| Member of Honour ![]() Registriert seit: 02.04.05 ![]() ![]() ![]() Likes: 76 | Ob man die x Abhängigkeiten "löscht" oder dessen Control-Flow manipuliert, ist in etwa gleich aufwendig. Dagegen einen korrekten Key oder eine korrekte Maschine zu emulieren ist in dem vorgestellten Szenario die einfachste Lösung. |
| | |
![]() |
| Stichworte |
| crack, schutz |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |