Habi Geschrieben 23. Juni 2005 Geschrieben 23. Juni 2005 Hallo zusammen, ich habe gleich 2 Probleme auf einmal. Ich möchte ein Konsolenprogramm schreiben, dass mir als einzige Ausgabe eine Zahlen/Buchstabenfolge ausgibt, die eindeutig für diesen Rechner ist. Ich hab jetzt schon dran gedacht die IP Adresse, Processor Stepping, Prozessor Revision zu "verwurschteln", so das eine Wilde Kobination rauskommt (8-12 Stellen) Meine Probleme: 1.) Wie schreibe ich eine Konsolenanwendung, die unsichtbar läuft? 2.) Wie komme ich an die Informationen des Prozessors bzw. IP Adresse dran. Vieleicht auch MAC Adresse eine Rechners Bin für jede Hilfe dankbar Zitieren
Klotzkopp Geschrieben 23. Juni 2005 Geschrieben 23. Juni 2005 Muss denn bei mehrfachem Aufruf immer dieselbe Kombination herauskommen? Falls nicht (und es dich nicht stört, dass die Zahl etwas größer als gefordert ist): CoCreateGuid. Zitieren
Habi Geschrieben 23. Juni 2005 Autor Geschrieben 23. Juni 2005 Ja die Kombination muss eindeutig sein, egal bei wievielen Aufrufen... Zitieren
Klotzkopp Geschrieben 23. Juni 2005 Geschrieben 23. Juni 2005 Du bist dir der üblichen Probleme bei dieser Methode bewusst? - wechselnde IP-Adressen bei DHCP-Clients - Keine Netzwerkkarte, keine MAC-Adresse - MAC-Adressen von BT-Sticks lassen sich prima weitergeben - Was ist, wenn jemand eine andere Netzwerkkarte einbaut? Was willst du denn damit erreichen? Zitieren
Schlaubi Geschrieben 23. Juni 2005 Geschrieben 23. Juni 2005 Du meinst so etwas wie die "machid" ?? Zitieren
Habi Geschrieben 23. Juni 2005 Autor Geschrieben 23. Juni 2005 @schlaubi: nee nicht ganz @alle Genauere Beschreibung: ich möchte für eine Software, die zeitlich eingeschränkt werden soll einen eindeutigen Schlüssel erzeugen, der für eine Maschine möglichst eindeutig sein soll. Ein Benutzer bekommt dann für diesen Schlüssel einen Aktivierungskey. Daher meine Idee Informationen wie Prozessor + Netzwerkdinge zu kombinieren. Für andere Ideen bin ich aber offen :-) Zitieren
Bubble Geschrieben 23. Juni 2005 Geschrieben 23. Juni 2005 Willst Du eine Art Produktaktivierung entwickeln? 1.) Wie schreibe ich eine Konsolenanwendung, die unsichtbar läuft? Geht nicht. Aber eine Windows-Anwendung ohne Fenster, das ginge. 2.) Wie komme ich an die Informationen des Prozessors bzw. IP Adresse dran. Vieleicht auch MAC Adresse eine Rechners Siehe Platform SDK. Sorry, aber das ist zu umfangreich, um es in einem Beitrag vollständig zu erklären. Zitieren
Habi Geschrieben 23. Juni 2005 Autor Geschrieben 23. Juni 2005 Willst Du eine Art Produktaktivierung entwickeln? Geht nicht. Aber eine Windows-Anwendung ohne Fenster, das ginge. Siehe Platform SDK. Sorry, aber das ist zu umfangreich, um es in einem Beitrag vollständig zu erklären. Aber ein Tipp wäre schon schön. Ist ja nicht so, dass ich nicht geschaut hätte (IP Addresse habe ich mittlerweile...), aber Prozessorinfos? Zitieren
Bubble Geschrieben 23. Juni 2005 Geschrieben 23. Juni 2005 aber Prozessorinfos? - z.B. mit dem CPUID Befehl (Assembler), ist ab Pentium CPUs verfügbar (486er und älter kennen ihn nicht). - Die IP-Adresse solltest Du nicht verwenden, sie kann sich laufend ändern (DHCP, Einwahlverbindungen, usw.). Nimm lieber die MAC eines physikalischen Netzwerkadapters. Weiter wäre noch denkbar (wenn es wirklich nur kurzzeitig funktionieren soll): - CPU-ID (die Nummer, nicht der Befehl, aber nicht bei jeder CPU verfügbar) - Hardware ID der Festplatte - Verwendete Grafikkarte - Hardware-Bezeichnung des optischen Laufwerks - RAM-Ausbau Zitieren
Pointerman Geschrieben 27. Juni 2005 Geschrieben 27. Juni 2005 Moin! In welcher Stückzahl willst Du denn Deine Probeversionen unters Volk bringen? Vielleicht lohnt sich da ja schon eine Hardwarelösung. In meinem Ausbildungsbetrieb hatten wir eine HW-Lösung von WIBU. Gibts für USB, COM, Parallel und ist meines Wissens noch nicht geknackt worden (die haben mal 150k DM dafür ausgesetzt). Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.