Hallo Rudy,
Wenig Arbeit um nix
))
Nun entmutige Werner nicht gleich ganz.
Mit der Userid des
Windows ist das schon schwieriger. Die hat so ein Format:
S-5-1-21-2389151177-0629120266-455437253-0510 und steht in der
Registrierung unter HKEY_USERS, ist also fest (fest?) mit dem
Benutzerprofil verankert.
Und der ändert sich bei einer Neuinstallation? Gefällt mir nicht. Möglich wäre verschiedene Infos gleichzeitig zu verwenden, aber das ist hier wohl nicht nötig.
Und Du durchsuchst ein mehrere MB großes Programm um die
Stelle zu finden, an der der Schlüssel gelesen wird? Den
Assemblercode?
Nebst anderer Tools, deren Namen ich hier nicht
veröffentliche, um Crack-Kiddies nicht auf doofe Gedanken zu
bringen.
*g* Du sprichst von einer anderen Szene. Die Leute, die Du meinst, sind an dem Programm nicht interessiert.
Bis Du den gefunden hast, hast Du das Programm von Werner
analysiert und neu geschrieben.
Wenn Du dich da nur nicht täuschst. Es gibt ganz gewisse
Merkmale, Meldungen, Jumps, Checks die sehr einfach mit
Deassemblern zu finden sind. Die sind praktisch dafür gemacht.
Du meinst, ich muß das absichtlich recht umständlich machen? OK, doch kein Schlüssel in der Registry, sondern Daten, die das Programm benötigt verschlüsselt in einer Datei mitliefern. Wird die Verschlüsselung abgewürgt, können benötigte Daten nicht mehr gelesen werden.
Der
Aufwand muß schon in einem vernünftigen Verhältnis zum Nutzen
stehen.
Das steht außer Frage
Wer hat schon seine Zeit zum
Vergeuden…
Was Zeit vergeuden ist, ist relativ. Einen Kopierschutz zu knacken, kann Selbstzweck sein. …
Meine Rede. Selbst Freeware muß recht gut sein, damir sie
überhaupt geladen wird.
Was Werner da geschrieben hat, ist ja auch nichts für den
Massenmarkt, er hat Seine Nische, die potentiellen User sind
eher keine Computerexperten, deren Expertenwissen liegt in
anderen Bereichen.
Also keine Programme für Software-Firmen. Na dann is ja gut.
Wer weiß aber schon, wer grad mal Bock hat wieder mal was zu
patchen…
Wir sind uns ja einig, daß es 100%ige Sicherheit nicht gibt. Aber ein paar Steinchen kann man dem Angreifer ja in den Weg legen wollen.
Aber den Registrierungsschlüssel als Klartext in eine Datei
schreiben und die in ‚System32‘ als ‚XYZ32.dll‘ zu schreiben
ist halt noch nicht mal vor DAUs sicher. 
Das ist eigentlich egal. Wichtig ist, dass die gespeicherten
Werte ordentlich verschlüsselt sind. Wo die dann liegen, lässt
sich aufgrund der Windows-Architektur IMMER zurückverfolgen,
sobald dein Programm das ausliest. Wenn Du die
Registrierungsschlüssel aber schon verschlüsseln willst,
müssen die aber rückverschlüsselbar sein, da er sie im
Programm ja benutzen will.
So ist es. Das soll ja fast unbemerkt bleiben, sonst wird das Programm unbrauchbar.
Ich empfehle hierzu einen Algo,
welcher mit einer Benutzerabhängigen ID die Strings
verschlüsselt (siehe crypto-Link weiter unten) und daraufhin
eine „dll“ generiert, worin die Infos unter lauter Chunk-Mist
verschlüsselt zu finden sind. Das ist aber, wie gesagt, nicht
notwendig. Achte auf die gute Verschlüsselung der Werte in den
Registrierungsschlüssel.
Ideen hab’ ich dazu schon.
Das Thema hat mich auch schon mal interessiert, ich denke nicht zum ersten mal darüber nach.
Ich habe Spielstände verschlüsselt abgelegt, um den Spielspaß zu erhalten. In dem Fall recht unwichtig, wer’s kanckt, schadet sich nur selbst.
War aber wohl trotzdem gut genug.
Über MD5 und Blowfish weiß ich nichts, das könnte ich mit VB
nicht nutzen um in die Registry einen Schlüssel zu scheiben
und wieder zu lesen. Erklär doch mal, was es damit auf sich
hat, ich versteh’s nicht. …
MD5, Blowfish und was es da noch so gibt sind
Verschlüsselungsalgorithmen, die nicht rückverschlüsselbar
sind. (ganz sicher ist MD5 dank der findigen Chinesen seit
letztem Jahr nun leider auch nicht mehr - er ist deshalb aber
nicht unbrauchbar geworden). Sinn des Ganzen ist, immer nur
den verschlüsselten Text zu vergleichen, niemals den Klartext,
d.h. beim Eingeben des Schlüssels wird dieser kodiert
in der Registry gespeichert, und später immer nur der
verschlüsselte abgeglichen. :
http://de.wikipedia.org/wiki/MD5
http://de.wikipedia.org/wiki/Blowfish
Diese Verschlüsselungen gibts gibts auch für VB:
http://www.di-mgt.com.au/crypto.html
Das sehe ich mir an. Mal sehen, ob ich das verstehe.
Also, es geht um ein VB-Programm, das kopiergeschützt werden
soll. Der User soll damit arbeiten können und nicht jedes mal
ein Passwort eintippen müssen. Der ‚Kopierschutz‘ muß nicht so
effektiv sein, daß man den CCC damit vor Probleme stellt. 
Da sind der Kreativität keine Grenzen gesetzt. Du willst doch
nun nicht etwa einen Kopierschutz machen, dessen
Funktionsweise Du hier veröffentlichst? 
Nein, will ich nicht. So intetressant wird das nun auch wieder nicht. Wenn ich das aber so schaffen würde, daß das die Verschlüsselung nicht unwirksam macht, wär’s schon nett. … Steht nicht irgendeine Hardwareinfo in irgend einem ROM?
Eine unveränderliche Zahl im Computer und das Ding ist gegessen.
Nur so aus Neugier
wäre ich interessiert, das ‚gesicherte‘ Programm mal zu
testen.
Ich hab’ bisher eine frühe Arbeitsversion gesehen, weiß also in groben Zügen, worum es geht. Verwenden kann das Programm wohl nur ein Vermessungsingenier, für jeden anderen ist es nicht zu gebrauchen. Das Interesse ist also eher auf eine kleine Personengruppe beschränkt, die nicht zwangsläufig alle Computerexperten sind.
Danke für die Tipps!
Gruß, Rainer