AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Generierung einer eindeutigen MachineID (Diskussion)
Thema durchsuchen
Ansicht
Themen-Optionen

Generierung einer eindeutigen MachineID (Diskussion)

Ein Thema von Luckie · begonnen am 8. Okt 2005 · letzter Beitrag vom 1. Mär 2007
 
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#18

Re: Generierung einer eindeutigen MachineID

  Alt 22. Nov 2005, 13:55
Sorry das ich mich nochmal melde:

Delphi-Quellcode:
procedure AntiProcDump;assembler;
procedure antidebug;assembler;
Sind echt alte Hüte und jeder Hacker wird diese Codestückchen sofort rausfischen. Besonders AntiDebug mit seinem "verstecketen" INT 3 OpCode ist sehr leicht für moderne Dissassembler auszumachen. Dies disassemblieren nämlich gleich mehrere möglich Programmpfade man muß es diesen nur sagen. Naja, bisher hast du sie ja auch noch nciht benutzt.

function GetHDSerialNumber: LongInt; Benutzt GetVolumeInformation() und bekommt die LOGISCHE Serialnummer zurückgeben, NICHT die physikalische Serialnummer. Die Logische Serialnummer lässt sich auf DOS Ebene sehr leicht verändert, oder eine Formatierung reicht schon aus.

Ok dafür hast du ja gleich anschließend

function GetIdeSerialNumber ():string; Diese benutzt den S.M.A.R.T Treiber, und wer aber weis das dieser Treiber nur statistische Aufgaben in einem System erledigt wird diese so wie ich löschen. Dieser Treiber erledigt keine für das OS wichtigen Aufgaben, sondern wird immer wieder gerne nur für den Softwareschutz benutzt.

function gethardwareid: string; Nur ganz wenige Intel CPUs kennen eine CPU-ID. Mit speziellen Tools kann man diese extern deaktivieren und beim Ausführen des CPU-ID Befehles kommt es dann zu einer Hardwareexception. Desweiteren kann der CPU-ID Befehl komplett für Ring 3 Anwendungen gesperrt werden, auch dafür wird es wohl Tools geben. Dies führt zu einer Hardware Exception. Wo ist dein TRY EXCEPT Block eigentlich ? Naja und den Rest machst du über die Registry die ja jeder selber abändern kann.

Du solltest mal den MD5 so erzeugen das er auf Basis der Annahme das KEINE deiner Funktionen mit dem Datensammeln Erfolg gehabt haben, und dir diesen MD5 Digest dann wirklich merken. Es könnte durchaus sein das mit der Zeit immer mehr Registrationen reinflattern mit solchen MD5 Digest.

Erfreulich ist aber die Anwendung des MD5 Hashs da diese bei einer bekannten Serial verhindert das man die nötigen Werte für die Registry ermitteln kann. Man muß also schon Zugriff auf den Rechner haben den man kompromittieren möchte um dann alle Infos auslesen zu können und somit einen zweiten Rechner mit den Werten für die gleiche Serial versehen zu können. Das IST eine Notwendigket die ein Hacker in einem solchen Falle NICHT umgehen kann, das ist also sicher, und liegt am MD5. Bekommt also ein Hacker eine Serial in die Hände so nützt diese ihm wenig wenn er nicht weis von welchem Rechner sie stammt und er keinen Zugriff auf diesen Rechner bekommt.

Du hast also eine echte kryptographische Funktion an einer Stelle eingesetzt wo sie kryptographisch sehr sinnvoll ist und dies führte dann auch tatsächlich zu einer Erhöhung der Sicherheit indem bestimmte Angriffe definitiv ausgeschlossen werden. Dies zeigt sehr schön den Unterschied zu den anderen Funktionen.

Gruß Hagen
  Mit Zitat antworten Zitat
 


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 02:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz