AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi funktionierende Unit die Hardware-IDs berechnet
Thema durchsuchen
Ansicht
Themen-Optionen

funktionierende Unit die Hardware-IDs berechnet

Ein Thema von Hedge · begonnen am 24. Nov 2009 · letzter Beitrag vom 25. Nov 2009
Antwort Antwort
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#1

funktionierende Unit die Hardware-IDs berechnet

  Alt 24. Nov 2009, 11:16
In der Code-Library gibt es ja hier eine Unit die genau das macht.
Leider berechnet sie alternierend jeweils 2 verschiedene Hardware-IDs für den selben PC was sie ziemlich sinnlos macht.

Kennt Jemand noch andere Freeware-Komponenten oder Units die das machen?
Bitte nur keine .dll-Dateien.

Ich möchte mit der Hardware-ID kein Sicherheitssystem basteln sondern nutze diese nur für heuristische Analysen nachdem sie auf meinen Server übertragen wurden.
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#2

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 18:34
Bump!

Hat da echt Niemand eine Backmischung parat?
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#3

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 18:48
Versuche mal dir die Eigenschaften mal vor dem Hashen ausgeben zu lassen, dann sollte man sehen was da herumwackelt
Das könntest du dann einfach weglassen.

Aber wenn es dir nicht so um Sicherheit geht, würde so etwas, wie eine bei der Installation bzw. einmalig zufällig gewählte GUID vielleicht auch ausreichen?


MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#4

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 18:50
Wenn sich die GUID nur hardwarebezogen ändert, dann wäre das durchaus passabel.
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#5

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 19:00
Hab das Problem bei der Unit gefunden und das ohne Debugger
Tritt nur bei Computern mit mehr als einer CPU auf.
Bindet mal das Programm per Taskmanager immer auf den einen Core => Dann kommt immer der erste Key.
Dann einmal auf den anderen Core binden => Es kommt immer der zweite Key generiert.

Warum der Key also spontan wechselt ist leicht erklärt. Windows lässt den Code mal in Core 1 und mal in Core 2 laufen je nachdem welcher gerade weniger belastet ist.

Also entweder du überarbeitest die Unit damit immer die gleiche CPUID erzeugt wird oder du nimmst das bei der Berechnung einfach raus.
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 19:01
Könnte man nicht jeweils alle CPUs des Computers in den Hash reinbauen? Wäre evtl die beste Methode.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#7

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 19:24
Ich habe den wackelnden Code- Teil gefunden (erster Block in gethardwareid):
Delphi-Quellcode:
var a,b,c,d : Longword;
//...
  try
      asm
        mov eax,1 // eax registeri cpuid komutunun parametresidir
        db $0F, $A2 // cpuid komutu
        mov a,EAX
        mov b,EBX
        mov c,ECX
        mov d,EDX
      end;
      CPUID:=inttohex(a,8) + '-' + inttohex(b,8) + '-' + inttohex(c,8) + '-' + inttohex(d,8);
   except
      CPUID:='0000-D342-F921-M068';
   end;
Aber auch den Aufruf von getCPUSpeed() würde ich mir sparen: dieser Wert wird nicht weiter verwendet, aber innerhalb der Funktion 2x Sleep ausgeführt.


MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#8

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 19:32
Wenn ich hwiddemo mit Delphi 2009 kompiliere und mittels gethardwareid mir eine ID generieren lasse, dann führt das zu einer Debugger-Exception (siehe Anhang).

Weiß Jemand woran das liegen könnte?
Miniaturansicht angehängter Grafiken
hwiddemo_106.png  
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#9

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 19:57
Schon mal mit F8 durch die Unit debuggt?
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#10

Re: funktionierende Unit die Hardware-IDs berechnet

  Alt 25. Nov 2009, 20:05
Die Funktion MD5Print scheint der Bösewicht zu sein:
Delphi-Quellcode:
function MD5Print(D: MD5Digest): string;
var
   I: byte;
const
   Digits: array[0..15] of char =
      ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
begin
   Result := '';
   for I := 0 to 15 do Result := Result + Digits[(D[I] shr 4) and $0f] + Digits[D[I] and $0f];
end;
Nach der result-Zeile geht es in die Binsen.
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz