Motherboard Time / Schutz vor Manipulation von Zeit und Datum
-
Es gibt da noch http://msdn.microsoft.com/en-us/library/ms724950(VS.85).aspx
Das ist die Zeit der Hardwareuhr was identisch zur Systemzeit ist wenn MSDN nicht lügt. Und mehr Uhren gibts im Rechner nicht soweit ich weiß.das hier habe ich gerade gefunden, das sieht doch sehr danach aus. oder?
http://msdn.microsoft.com/en-us/library/ms725475(VS.85).aspx
-
Hatte ich auch gesehen, aber keine Ahnung wie man es benutzt und was genau es tut. Mehrere Uhren im Rechner zu haben ist eigentlich Quatsch, aber wer weiß, vielleicht gibt es mehrere. Jedenfalls weiß ich auch nicht mehr als da steht. Viel Glück.
-
Magic-Champ schrieb:
das hier habe ich gerade gefunden, das sieht doch sehr danach aus. oder?
http://msdn.microsoft.com/en-us/library/ms725475(VS.85).aspxsieht aber ziemlich komplex aus, musste extra 'ne dll schreiben und so. ich schätze, 'ping-pong kommunikation' mit 'nem NTP-server über UDP dürfte einfacher sein.
-
Magic-Champ schrieb:
Nein. das ist ja nur die Systemuhrzeit vom Betriebssystem.
Eigentlich egal. Wenn die Laufzeit, wie weiter oben geschrieben, am Tag der Auslieferung "hardgecoded" wird, dann sollte time () völlig ausreichen.
-
Eigentlich egal. Wenn die Laufzeit, wie weiter oben geschrieben, am Tag der Auslieferung "hardgecoded" wird, dann sollte time () völlig ausreichen.
mit ein paar Klicks hat der User einfach die Windoofs Systemuhrzeit geändert und schon läuft das Programm bis in alle Ewigkeiten... das ist nicht so richtig das was ich will
-
also wenn du schon an sowas denkst, solltest auch dein compilat protecten sonst ist das kein wirklicher schutz;) weiß nicht ob ich da noch auf dem aktuellsten stand bin aber armadillo war mal nicht schlecht ist auch nicht so billig:) findest hier http://www.siliconrealms.com/ aber 100%ige sicherheit gitbts nicht.
-
Servus again,
also, inzwischen habe ich mich entschieden, einfach die Zeit aus dem Internet mit der lokalen Rechnerzeit zu vergleichen. dann kann die Manipulation der Systemuhrzeit am Rechner fast ausgeschlossen werden.
dafür habe ich über InternetOpenUrl einfach eine Kopie der Seite http://tycho.usno.navy.mil/cgi-bin/anim eingeladen. Funktioniert soweit auch ganz toll, aber das Problem ist, es ist leider keine Angabe der Zeit in seconds enthalten. Ich muss also den ganzen String auslesen und neu zusammenbasteln und dann noch in seconds umrechnen um die Zeit zu vergleichen?! oder?wäre es da nicht viel einfacher eine Seite zu haben, auf der man die seconds auslesen kann?! kennt jemand von Euch eine solche Seite?
Danke!
-
einfach eine Kopie der Seite http://tycho.usno.navy.mil/cgi-bin/anim eingeladen
alter alter sowas hab ich ja noch nie gesehen und das kannst du dir runterladen?
ist zwar php aber das gibts auf fast jedem free webspace
<?php echo time(); ?>
-
danke für den qualifizierten Beitrag.
entweder ich verstehe nicht was du willst, oder du nicht was ich will.
ich will die lokale Rechnerzeit
time_t seconds; seconds = time (NULL);
mit einer UNABHÄNGIGEN und nicht zu manipulierenden Zeit vergleichen. also hilft mir wohl nur das Internet. gehe ich jetzt richtig in der Annahme, dass ich mit deinem Code eine unabhängige Vergleichszeit heran bekomme???
wenn ja, habe ich deinen Beitrag tatsächlich nicht verstanden.
wenn nein, bin ich wohl weiter auf der Suche nach einer unabhängigen Zeitangabe, aber bitte in sec falls einer so etwas kennt.
Danke.
-
mein gedanke war, du machst dir einen free webspace account oder lässt dir nen server raus wie auch immer dann erstellst eine datei xyz.php in die speicherst
<?php echo time(); ?>
und wenn du nun http://www.dein-server.de/xyz.php aufrufst die zeit so dacht ich mir das
lg lolo
-
Hey Cool, jetzt hab ich es auch verstanden. und das beste daran: es entspricht genau meiner Idee, nur ohne den Umweg des eigenen Servers. den habe ich nämlich nicht, weshalb ich ja einfach etwas Bestehendes nutzen möchte. warum neu aufsetzen, wenn es doch schon da ist.
drum nochmal die Frage: gibts genau diesen Service nicht auf irgend einer bekannten Web-Seite?
-
evtl. lautet das stichwort hier SNTP bzw NTP http://de.wikipedia.org/wiki/Network_Time_Protocol hab damit aber noch nie was gemacht und kann dir da auch keine server usw. sagen:(
-
;fricky schrieb:
Magic-Champ schrieb:
ich würde also wenn ich alles richtig verstehe einfach die Abfrage von time durch die "richtige" Zeit ersetzen
die kriegste z.b. von da: http://support.ntp.org/bin/view/Servers/WebHome
caesium-atomuhr-genau, sozusagen. *fg*
ach da schau mal hab ich gerade in deinem eigenen thread gefunden:))
-
Magic-Champ schrieb:
mit einer UNABHÄNGIGEN und nicht zu manipulierenden Zeit vergleichen. also hilft mir wohl nur das Internet.
auch das lässt sich manipulieren. Mit einem Sniffer kann man herausfinden, dass dein Programm am Domain example.org ein NTP-Request oder was auch immer macht, um die Zeit zu vergleichen. Da kann ich einen NTP-Server im lokalen Netz so einstellen, dass er immer eine Zeit zurückgibt, so dass dein Programm denkt, der Benutzer darf es weiterhin verwenden. Man fügt folgendes in die /etc/hosts bzw. %SystemRoot%\system32\drivers\etc\hosts Datei hinzu
example.org (IP-Adresse des Fake NTP-Servers)
und somit ist alles wieder voll für die Katz
100% Sicherheits wirst du nie erreichen. Die "kriminelle" Energie ist ausreichend groß, dass jemand, der/die unbedingt dein Zeug außerhalb der Frist ausführen will, es sowieso tun wird. Man kann ihm/ihr nur sehr schwer machen, 100% verhindern wirst du nicht.
-
jaaaa. sicher ist nur der Tod.
aber wenn ich jetzt vor lauter Angst die Hände in den Schoß legen würde, käme ich auch nicht weiter. also nicht jammern, sondern ein paar Hürden einbauen für all die Leute die nix zu tun haben und fertig.
es braucht ja nicht mehr sein, als das hier http://www.xav.com/time.cgi
nur leider kann ich das mit openUrl nicht auslesen, da kommt im Gegenteil zu dem hier http://tycho.usno.navy.mil/cgi-bin/anim nix raus. sonst wäre es wohl auch zu einfach ...
-
Zeitabfragen kann man einfach "wegpatchen". Man kann mit einem Debugger/Disassembler eine jnz anweisung einfach in eine jz anweisung umschreiben und hat auch bei abgelaufener Zeit volle Funktionalität. Um es möglichst schwer zu machen, kannst du einfach sinnlosen code schreiben, der vor und nach der Lizenzprüfungsfunktion aufgerufen wird, der eine pseudo Lizenzprüfung durchführt. Völlige sicherheit gibt es aber bei keinem Sicherungsverfahren, wer genug Zeit hat...
-
Magic-Champ schrieb:
jaaaa. sicher ist nur der Tod.
aber wenn ich jetzt vor lauter Angst die Hände in den Schoß legen würde, käme ich auch nicht weiter.
Seh ich auch so.
Magic-Champ schrieb:
es braucht ja nicht mehr sein, als das hier http://www.xav.com/time.cgi
nur leider kann ich das mit openUrl nicht auslesen, da kommt im Gegenteil zu dem hier http://tycho.usno.navy.mil/cgi-bin/anim nix raus. sonst wäre es wohl auch zu einfach ...Wieso kommt da nix raus? Bist du sicher dass du einen anständigen Request gesendet hast und auf der richtigen URL gelandet bist? Manche Server leiten dich noch 3 mal weiter oder sind pingelig mit den '/'. Wireshark bietet sich da an, da kannst du die Seite mal mit deinem Browser aufrufen und genau kucken was der Browser sendet und wie der Server antwortet, wenn du das weißt kannst du einfach das was dein Browser sendet per send auf das socket geben und der Server antwortet dir genau wie dem Browser.
-
supertux schrieb:
auch das lässt sich manipulieren. Mit einem Sniffer kann man herausfinden, dass dein Programm am Domain example.org ein NTP-Request oder was auch immer macht, um die Zeit zu vergleichen. Da kann ich einen NTP-Server im lokalen Netz so einstellen, dass er immer eine Zeit zurückgibt, so dass dein Programm denkt, der Benutzer darf es weiterhin verwenden.
dann nimmste 'nen NTP server mit statischer internet-adresse, sind glaub ich, sogar die meisten. kann man zwar auch faken, aber ist schon mal 'ne hürde mehr. oder einen eigenen server aufmachen, gleich mit mit 'radius' drauf und die kommunikation läuft über sichere kanäle mit allen schikanen (z.b. EAP-TLS, ähnlich wie enterprise-WPA). daran beisst dich der hobby-hacker die zähne aus. *fg*
-
nimm mir den beitrag bitte nicht übel aber wenn du solche probleme hast das datum umzuwandeln kann ich mir kaum vorstellen dass jemand interesse hat das teil zu patchen||cracken||was auch immer also lass den focus auf guten programmen und betrachte es als kompliment wenn im internet ein crack auftaucht bzw. jemand deine software verwendet.
lg lolo
-
nimm mir meinen Beitrag auch nicht übel. aber versuch nicht zu beurteilen was du nicht beurteilen kannst...