Autor |
Beitrag |
Master_of_Magic
      
Beiträge: 56
Win 98, Win XP
D6 Pers, D2005 Arch
|
Verfasst: So 03.07.05 09:44
Ich möchte meine Anwenudng mit einem Kopierschutz schützen. Und JA, ich weiß, dass das nicht wirklich schützt. Aber Ich dachte mir, wenn ich Hardware-Seriennummern überprüfe wird zumindest für Nicht-Cracker das kopieren massiv erschwert.
Jetzt zu meinen Fragen:
1. Beim Auslesen der Festplatten Seriennummern fiel mir auf, dass nicht nur jede Partition unterschiedliche Nummern hat, sondern auch Wurzel und Nicht-Wurzelverzeichnis sich unterscheiden (z.B. "C:\" und "C:\Ordner\"). Gibts da Abhilfe für, sprich, gibt es eine Art feste Seriennummer der Festplatte?
2. Hat mir jemand ne einfache Möglichkeit auch noch an die ID's anderer Komponenten (z.B. CPU, Mainboard, Ram, Grafikkarte etc.) zu kommen?
Ich weiß, dass eigentlich 1 Frage=1 Thread gilt, aber die zwei hier gehören doch wohl zum selben Theam, oda? 
|
|
hallo
      
Beiträge: 450
WIN XP, SuSE 9.3
D3 Prof, D6 Pers, 2005 Pers
|
Verfasst: So 03.07.05 16:48
Ich weiß nicht ob das so gut ist wie du das machen willst: Viele bauen ihren PC oft um!
_________________ Der beste je Programmierte Trojaner: Windows XP
Wäre es nicht adequat, den Usus heterogener Termini zu minimieren?
|
|
Master_of_Magic 
      
Beiträge: 56
Win 98, Win XP
D6 Pers, D2005 Arch
|
Verfasst: So 03.07.05 16:57
Genau aus diesem Grund möchte ich ja auch noch die Seriennummern von anderen Komponenten als der Festplatte auslesen. Dann kann ich z.B. sagen: Nur wenn min. 2 von 5 Nummern übereinstimmen, kann das Programm gestartet werden!
Im Moment hab ich ja nur die Festplatten-Nummer. Und selbst die ist schon von Partition zu Partition verschieden...
|
|
hallo
      
Beiträge: 450
WIN XP, SuSE 9.3
D3 Prof, D6 Pers, 2005 Pers
|
Verfasst: So 03.07.05 17:02
Aber was ist, wenn ich meinen PC komplett umbaue?
Wenn ich alles erneuere, aber nur die Platte mit den Daten da lasse?
Ich kenn Leute die haben sowas schon mal gemacht!
_________________ Der beste je Programmierte Trojaner: Windows XP
Wäre es nicht adequat, den Usus heterogener Termini zu minimieren?
|
|
Master_of_Magic 
      
Beiträge: 56
Win 98, Win XP
D6 Pers, D2005 Arch
|
Verfasst: So 03.07.05 18:11
Falls dieser Fall eintreten sollte, kann ich die Überprüfung ja immer noch auf die neuen Komponenten umstellen. Normalerweise wird ja zumindest irgendeine Komponente beibehalten...
Eigentlich wollte ich nicht über den Sinn des Ganzen diskutieren, sondern konstruktive Beiträge bekommen ... 
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: So 03.07.05 18:57
Master - das Problem ist nicht: wie beziehe mich auf Hardware, um mein Programm zu schützen?
Wenn Dein Programm so populär wird, dass sich ein Crackversuch lohnt, wird man zuerst nicht die Treiber der Festplatte cracken, um dem Programm eine falsche SerNo zu suggerieren, sondern man wird Dein Programm disassemblen, die Prüfungen umgehen und neu compilieren.
Stell Dir folgende Situation vor:
Du hast eine IF Abfrage, in dem Du die Abfrage machst ("IF Kontrolle THEN halt" beispielsweise).
Das wird dann so in Maschinensprache umgesetzt (alles nur symbolisch):
0000 Anweisung 1
0001 IF NOT Kontrolle THEN JUMP 0003
0002 halt
0003 Anweisung 2
Dein Halt wird also nur dann ausgeführt, wenn Deine Bedingung nicht zutrifft (JUMP wird nicht ausgeführt).
Der Hacker/Cracker macht nun folgendes: entweder schreibt er gleich an 0001 JUMP 0003 hin oder ersetzt die 0001er Zeile so, dass das NOT wegfällt. Assemblerleute wissen was ich meine: JE/JNE.
Es tut mir Leid, Dir Deine Illusion zerstören zu müssen. Kein Kopierschutz etc. ist sicher.
Deine Situation ist die Folgende:
* Dein Programm ist zu populär und wird viele Benutzer finden => Deine Software wird auf jeden Fall gecrackt
* oder: Dein Programm ist nicht so populär: Du brauchst keinen Kopierschutz!!!
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: So 03.07.05 19:01
Leute, hier geht es doch nicht darum, ob er einen Kopierschutz braucht oder nicht, sondern wie er seine Probleme damit lösen kann. Außerdem muss es nicht sinnlos sein, einen Kopierschutz zu implementieren, es bringt ihm auf jeden Fall mal Erfahrung in der Umsetzung solcher Vorhaben und das ist sehr viel wert. Also: Back to topic 
|
|
Master_of_Magic 
      
Beiträge: 56
Win 98, Win XP
D6 Pers, D2005 Arch
|
Verfasst: So 03.07.05 19:10
@UGrohne
Danke! Endlich mal einer der mich versteht *g*
@Rest
Ich weiß, dass die Abfrage ohne weiteres zu manipulieren ist. Allerdings schätze ich, dass höchstens 5% wissen, wie so etwas geht. Mir geht es nicht um einen unknackbaren Kopierschutz. Allerdings gar kein KS hieße fröhliche Weitergabe. Und Serials sind wirklich einfach zu knacken.
Daher hab ich diesen Weg eingeschlagen, da er einerseits nicht soo kompliziert zu programmieren, andererseits ohne bestimmtes Cracking-Wissen nicht zu knacken ist. 
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Mo 04.07.05 04:10
Nimm den Windows Productkey aus der Registry, der wird sicher noch am wenigsten alternieren!
Wie genau willst Du Deine Software vor Kopieren schützen?
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
Neidhard von Reuental
      
Beiträge: 268
XP
BDS 2006 Prof
|
Verfasst: Mo 04.07.05 05:48
mit einem kopierschutz der sich auf pc-komponenten stützt wirst du, bzw deine kunden, nur probleme haben. wenn ich einer dieser kunden wär und das programm würde nach einem umbau nicht mehr laufen wüßte ich das ich bei dir keine software mehr kaufe.
wenn du meinst du brauchst so einen kopierschutz denk doch mal über dongles nach
|
|
Master_of_Magic 
      
Beiträge: 56
Win 98, Win XP
D6 Pers, D2005 Arch
|
Verfasst: Mo 04.07.05 11:46
@DaRkFiRe
Das ist ne gute Idee. Hast du mir da nen Code-Schnipsel? Weil ich hab noch nie mit der Registry gearbeitet - nicht, dass ich da was falsches mache ...
@Neidhard von Reuental
Dongles sind viel zu aufwändig und im Vergleich zu meinem Programm das Geld nicht wert. Aus diesem Grund will ich ja mehrere Komponenten überprüfen, damit ein Umbau nicht soo viel ausmacht.
Dazu kommt, dass da Programm nicht direkt kommerziell vertrieben wird, daher reicht ein kleiner KS.
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Mo 04.07.05 23:07
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var Reg:TRegistry; var ProdID:STRING; ... begin ... Reg:=TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('Software\Microsoft\CurrentVersion',False); ProdID:=Reg.ReadString('ProductId'); ... |
Brauchst noch die MD5 Units für Delphi. Einfach mal googeln!
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
Master_of_Magic 
      
Beiträge: 56
Win 98, Win XP
D6 Pers, D2005 Arch
|
Verfasst: Fr 15.07.05 20:01
@DaRkFiRe
Danke für den Code. D hast zwar "/windows/" vergessen, aber das macht ja nix ^^. Aber wofür brauch ich da die MD5 Units? Das geht doch auch ohne!
Jedenfalls bin ich jetzt immer noch nach der Suche nach anderen Komponenten. Dürfen auch gerne in der Registry zu finden sein (sollte halt dort immer an der gleichen Stelle sein!). Möglich wäre auch z.B. der komplette Name der Grafikkarte oder etwas anderes, dass meist von PC zu PC verschieden ist...
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: So 17.07.05 00:37
Mit MD5 kannste einen langen String auf 16 Bytes hashen, nicht komprimieren!!!
Es gibt auch andere Strings, die diesen Hash erzeugen, doch dass ein anderer String genau diesen Hash erzeugt, ist sehr gering!
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
PhiDel
Hält's aus hier
Beiträge: 1
Win 98
Delphi 4
|
Verfasst: Fr 14.10.05 10:41
Auch wenn dieser Thread nun schon seit drei Monaten ruht, möchte ich ihn noch einmal aufgreifen.
Die hier diskutierten Ideen beruhen darauf, sich persönliche Daten des Benutzers bzw. seines PCs zu eigen zu machen, um daraus einen Kopierschutz zu konzipieren. Ich frage mich, ob dies juristisch einwandfrei ist. Darf ein jemand (der auch noch ein Unternehmen repräsentiert) einfach Zugriff auf diese persönlichen Daten nehmen? Mir gefällt z.B. die Variante des Kopierschutzes basierend auf der ProductId von Windows. Da aber nicht alle User eine legale Windowsversion auf ihrem Rechner haben, frage ich mich, ob die es besonders toll fänden, wenn sie mitbekämen, das ihre ProductId gerade über das Netz versand wurde.
Ich weiß, das ist ein Programmiererforum, aber vielleicht kennt sich ja trotzdem jemand mit den juristischen Aspekten dieser Vorgehensweise aus.
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 14.10.05 10:47
Also soweit ich das sehe, hat in diesem Thread niemand davon gesprochen, die ProductID oder ähnliche Daten direkt zu versenden. Das wäre in der Tat bedenklich.
Normalerweise wird aus diesen Daten eine Hardware-ID berechnet, aus der man aber die genauen Daten zur Hardware oder zur ProductID nicht wieder herausbekommen kann, und das genau aus diesem Grund.
Alles andere ist in der Tat juristisch nicht in Ordnung, da hab ich einen befreundeten Anwalt gefragt...
Alle Angaben in diesem Beitrag sind nicht als juristische Auskunft zu sehen und sind ohne Gewähr... ;-)
|
|
Master_of_Magic 
      
Beiträge: 56
Win 98, Win XP
D6 Pers, D2005 Arch
|
Verfasst: Fr 14.10.05 18:36
Bevor jetzt eine rechtliche Diskussion anfängt: Die Übertragung der ID war anfangs nur zu Testzwecken!
Mittlerweile ist der Schutz meiner Meinung nach fertig und basiert auf 4 Komponenten, deren Seriennummern in einen CRC32 umgewandelt und dann übertragen werden.
So ist das Auslesen irgendwelche Informationen unmöglich, aber der Schutz funktioniert trotzdem!
Außerdem besteht bei 4 Kompos die Möglichkeit, auch mal ein oder zwei Hardwarekomponenten auszutauschen, ohne dass das Tool den Dienst verweigert
Wo wir grad dabei sind: Kennt jemand ein Tool von euch, mit dem ich CRC32 knacken kann? Sprich mit den ich einen String/Zahl errechnen kann, der einen (von mir vorgegebenen) CRC32-Wert hat? Theoretisch ist CRC32 ja wesentlich einfacher knackbar, als z.B. MD5 oder täusche ich mich da?
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Sa 15.10.05 17:23
Master_of_Magic hat folgendes geschrieben: | Theoretisch ist CRC32 ja wesentlich einfacher knackbar, als z.B. MD5 oder täusche ich mich da? |
Da MD5 einen 128-Bit Schlüssel generiert und CRC32 nur einen 32-Bit langen, würde ich dem zustimmen.
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 28.11.05 18:38
Auf alle Fälle sollte der Anwender aber vorher zustimmen bevor du seine Daten übers Netz schickst; und wenn das Verfahren noch so sicher scheint. Den Windows-Key würde ich ohnehin weglassen, immerhin könntest in einen komischen verdacht kommen.
Und noch eine allgemeine Frage: angenommen ich hätte dein Programm gekauft. Und jetzt kaufe schlicht nen neuen PC. Ist damit die Lizenz erloschen dein proggi zu verwenden? Muss ich mich neu registrieren, und wenn ja, für wie viele Jahr(zehnt)e wird dieser Dienst zur Verfügung stehen? Immerhin habe ich ja bares geld bezahlt!
Das wären meine Bedenken.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Master_of_Magic 
      
Beiträge: 56
Win 98, Win XP
D6 Pers, D2005 Arch
|
Verfasst: Sa 03.12.05 18:54
1. Die Daten werden nicht von alleine verschickt, sondern der User muss die per E-Mail selbst tun (ich gebe nur den Inhalt vor)
2. Welche Komponenten geprüft werden, steht nicht dabei (soll ja nich jeder wissen)
3. Da der CRC berechnet wird, können eh keine Informationen aus der versendeten ID entnommen werden, der Windows-Key ist also nicht auslesbar
4. Ein neuer PC würde eine neue Lizenz bedeuten. Allerdings kann auch die alte übertragen werden (kostenlos)
5. Das Programm kostet kein Geld, sondern eine spezielle Währung eines Onlinespiels, da es sich für ein Tool dafür handelt
Ich hoffe, das zerstreut deine Bedenken. Wenn ich richtiges Geld dafür verlangen würde, wäre dieses System nicht so gut, aber für meine Zwecke ist es in Ordnung!
|
|