Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

C Sharp - Timer, der ein Programm nach drei Monaten unbrauchbar macht

Frage Entwicklung C und C++

Mitglied: 106543

106543 (Level 2)

31.07.2012 um 14:45 Uhr, 4554 Aufrufe, 16 Kommentare

Hallo Leute,

ich leg am Besten gleich mal los
ich suche eine Möglichkeit, einen Timer oder sowas in mein C#-Programm einzubauen, welcher nach 3 Monaten die Benutzung verhindert.

Schon mal danke für eure Hilfe

Mit freundlichen Grüßen
Dominik
Mitglied: wiesi200
31.07.2012 um 14:53 Uhr
Hallo,

im Endeffekt müsstest du in der der Windows Reg einen "Ablaufdatum" am besten irgendwie Codiert rein schreiben und dann bei Programstart und dann z.b. jede 2te Stund das überprüfen ob das Datum überschritten ist.

Oder du Summiert die Laufzeit auf musst die dann aber auch wieder irgendwo hinterlegen.
Bitte warten ..
Mitglied: 106543
31.07.2012 um 14:54 Uhr
Hi Wiesi200,

also im Endeffekt läufts drauf raus, dass ich die Zeit iwo speichern muss und regelmäßig gegenprüfen ?

Grüße
Dominik
Bitte warten ..
Mitglied: catachan
31.07.2012 um 14:59 Uhr
Hi

wenn du das Ablaufdatum nicht hardcodiert im Source Code haben willst (was bedeuten würde dass du es für jeden Kunden eu übersetzen musst), dann must du es wohin speichern. Wenn du aber nur auf das lokale Datum gehst, dann kann man es ganz leicht austricksen, indem man die Uhr zurückstellt.

LG
Bitte warten ..
Mitglied: maretz
31.07.2012 um 14:59 Uhr
So du nicht ein festes datum einprogrammieren willst (z.b. 31.12.2012) dann ja...
Bitte warten ..
Mitglied: 106543
31.07.2012 um 15:02 Uhr
Hallo Ihrs ;)

welche Möglichkeiten habe ich denn noch abgesehn von lokalen Datum ? Weil da hast du Recht wenn der die Uhr zurückstellen kann wärs ja bissl blöde

Grüße
Dominik
Bitte warten ..
Mitglied: catachan
31.07.2012 um 15:09 Uhr
Hi

du könntest die Uhrzeit mit einem NTP Server vergleichen. Oder Dir einen Webservice basteln gegen den geprüft wird. Ist halt eine Frage wie sicher das ganze sein soll.

LG
Bitte warten ..
Mitglied: 106543
31.07.2012 um 15:11 Uhr
Hi

Aber an sich verwenden ja die Versionen von Windows diese Trials ein ähnliches Prinzip oder irre ich mich da ? Weil da kann ich die Uhr ja auch nicht einfach zurückstellen ? ;) Funktioniert ja denke ich auch ohne Webzugang.

Grüße
Dominik
Bitte warten ..
Mitglied: Dani
31.07.2012 um 15:21 Uhr
Moin,
du könntest die Uhrzeit mit einem NTP Server vergleichen
Das hätte zur Folge, dass immer eine Internetverbindung stehen muss. Finde ich persönlich nicht so tolle.
Ich würde beim ersten Programmstart die Uhrzeit auslesen und codiert in die DB/Datei, etc... schreiben. Registry finde ich ebenfalls schlecht. Danach kann der Benutzer so oft wie er will das Datum ändern es wird nichts mehr gehen. Warum? Weil die 3 Monate einfach auf das erste Datum aufrechnest, dass du bei der Erstausführung gespeichert hast.


Grüße,
Dani
Bitte warten ..
Mitglied: maretz
31.07.2012 um 15:21 Uhr
Du kannst ja die startzeit immer mitspeichern - und vergleichen ob der letzte start vor dem aktuellen datum liegt. Wenn nicht ist es eine manipulation und fertig...
Bitte warten ..
Mitglied: 106543
31.07.2012 um 15:25 Uhr
Hi erstmal danke für die tolle Hilfe

jetzt noch eine Frage,
inwiefern kann ich in C# Strings codieren und auslesen ? ;) hab ich noch nie gemacht

Grüße
Dominik
Bitte warten ..
Mitglied: Dani
31.07.2012 um 15:28 Uhr
Zum Beispiel so.


Grüße,
Dani
Bitte warten ..
Mitglied: 106543
31.07.2012 um 15:31 Uhr
Hi Dani,

danke vielmals

Grüße Dominik
Bitte warten ..
Mitglied: MonoTone
01.08.2012, aktualisiert um 16:37 Uhr
Nur zur Information.
Du wirst es nicht ausschliessen können, dass dein Programm dennoch geknackt wird.
Wirklich sicher gehts halt nicht.
Im einfachsten Fall löscht man einfach die Datenbank/Regschlüssel/Datei, auch wenn sie verschlüsselt sind.
Oder man dekompiliert das Programm und ändert es oder schaut einfach nur, wie du es überprüfst.

Ich würde mich in erster Linie um die Qualität des Programms kümmern, nicht um iwelche Trialphasen etc.

//EDIT
Im Übrigen würde die Frage in die .NET Kategorie gehören^^
Bitte warten ..
Mitglied: Beast76
01.08.2012 um 22:39 Uhr
Hi,

um den Dekompiliervorgang etwas zu erschweren, solltest du ein Obfuscator verwenden.

Weiterhin besteht noch die Möglichkeit anstatt einer Verschlüsselung, einfach einen Hash (wie z.B. beim Speichern von Passwörtern) für das Datum und ggf. sogar eine Hardware-ID des Rechners zu erzeugen. Diesen Hash hinterlegst in einer Art Schlüsseldatei, die du dann mit auslieferst.
Ohne dieser Schlüsseldatei läuft dein Programm dann sowieso nicht. Und somit hast du zumindest etwas die Kontrolle.
Willst du dein Programm allerdings in größeren Mengen verteilen, dann wird das ein ganz schöner Aufwand die Schlüsseldateien jedesmal manuell zu erzeugen. Da gibt es aber auch einige fertige Tools die soetwas können.

Grüße
Volker
Bitte warten ..
Mitglied: maretz
02.08.2012 um 08:09 Uhr
Moin,

ganz ehrlich - ich würde erstmal gucken um was für ein Programm es sich handelt bevor ich mir um so was Gedanken machen würde... Es gibt diverse gute Tools im Bereich "79 ct" (zumindest beim Mac und i*), da würde sich keiner die Mühe machen das aufwendig zu knacken. Beim PC siehts nicht soviel anders aus... Klar gibt es Leute die sich sogar das Programm dann knacken würden - gegen die kann man einfach nicht viel machen. Aber zumindest wenn die Software Eigenschaften hat die einen wirklich helfen gibt es auch diverse Leute die dafür bezahlen um das legitim freizuschalten (bei Software die einen nicht dezent dran errinnert fällt es dagegen zu leicht zu sagen "mach ich morgen"...).

Klar - wenn man jetzt das 100ste ZIP-Tool baut und das zum Preis von 500 Euro verkaufen will dann wird das nix, aber es gibt genügend offene Stellen bei denen die passende Software durchaus einen akzeptablen Preis erzielen kann...
Bitte warten ..
Mitglied: 106543
02.08.2012 um 08:32 Uhr
Hallo Ihrs wieder ,

danke für all die guten Ratschläge erstmal. Werde ich beherzigen.
Ich muss MonoTone in diesem Fall zustimmen, ich sollte erstmal drauf achten, dass es ein gutes bzw. anständiges Programm ist. Danach kann ich mich noch darum kümmern. Aber eure Ideen werde ich definitiv verwirklichen, und wenns nur zum Testen ist

Danke vielmals
Dominik
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Windows 10
Windows-Update macht Minix-PC unbrauchbar (1)

Link von runasservice zum Thema Windows 10 ...

Netzwerkmanagement
gelöst Macht eine VPN Verbindung in eine DMZ sinn? (8)

Frage von M.Marz zum Thema Netzwerkmanagement ...

SAN, NAS, DAS
Storage RAID LUN Konfiguration - Wie macht ihr es (4)

Frage von Marco-83 zum Thema SAN, NAS, DAS ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...