![]() |
Programm vor Crackern schützen?
Hi,
wie kann ich ein Programm von mir möglichst sicher vor Cracken machen? Ich hab mir auch mal einige Gedanken gemacht ;-) Zitat:
Ist sie dann geschützt? hört sich zumidnest so an ;-) was ich aber nicht glaube... hat noch wer Ideen oder zur Ausführung Hilfen? Ich hab damit noch nicht viel Arbeit. mfg gandime |
Re: Programm vor Crackern schützen?
haha, tut mir lied aber das musste irgendwie sein.
|
Re: Programm vor Crackern schützen?
Protected Elemente sind nur für die Klasse und deren untergeordnete Methoden (auch die "Erben")
|
Re: Programm vor Crackern schützen?
Man wird jedes Programm irgendwann, irgendwie und irgendwann cracken, sofern es sich lohnt,
lohnt sich der Aufwand für dein Programm :?: |
Re: Programm vor Crackern schützen?
Zu dem Thema gab es hier schon einige Threads, wenn ich nicht irre. Die einzige halbwegs sichere Methode scheint der Einsatz eines Dongles zu sein.
|
Re: Programm vor Crackern schützen?
Hi,
also meiner Meinung nach kann man ein Programm maximal zu 55%-70% schützen es git immer weg zu ziel eines Crackers... Was ich zum schutz eines Programmes empfelen würde wären die beiden tools Themida oder EXECryptor(beide kostenpflichtig) das sind meines wissens nach mit die besten aufem Markt aber auch diesen schutz kann man entfernen... Und um noch eigenen schutz ein zu bauen würde ich mal nach "Anti-debugging+Delphi" usw suchen! welche fragen du dir jetzt stellen solltest sind: :arrow: Wie sicher soll dein Programm sein :arrow: Wie viel aufwand wird sich ein Cracker machen um dein Programm zu cracken(was kann dein programm) :arrow: usw... MfG Carlo |
Re: Programm vor Crackern schützen?
Da gibt es viele Möglichkeiten den Crackern das Leben zu erschweren... eine sichere Lösung gibt es nicht!
Schau mal ![]() |
Re: Programm vor Crackern schützen?
protected bedeutet, dass du auf die Variable nur innerhalb der gleichen Unit zugreifen kannst. Mit Crackern hat das nichts zu tun ;)
edit: Ist protected nicht auch in der Unit sichtbar? Ich dachte, der einzige Unterschied zw protected und private wäre, dass man private nicht in abgeleiteten klassen benutzen kann. |
Re: Programm vor Crackern schützen?
Zitat:
|
Re: Programm vor Crackern schützen?
Hi,
du könntest das ja echt so machen, dass man das programm nur öffnen kann wenn man sich online registriert hat. und dabei wird dann der lizensschlüssel auf deinen server oder so geuppt :) |
Re: Programm vor Crackern schützen?
Ich rate mal,
![]() Und wenn du keine 100 euro für ein Tool investieren willst, dann ist es dein Programm imho eh nicht wert, über geschützt zu werden. Dann gebs als Freeware raus, wenn dir 100 Euro schon zu viel sein sollten. |
Re: Programm vor Crackern schützen?
Zitat:
mfg Christian |
Re: Programm vor Crackern schützen?
Zitat:
Zur eigentlichen Frage. Wenn du nicht wusstest was protected bei Klassen bedeutet kann ich mir nicht vorstellen das deine Software so schützenswert ist das sich ein Mehraufwand lohnt der gegen das Cracken helfen soll. Es gibt keinen absoluten Schutz sondern es ist immer nur ein Erschweren. Und der Aufwand zum Erschweren ist bei einem wirksamen Schutz so groß das man sich wirklich sicher sein sollte ob sich das lohnt. (bei kleinen Tools und mittelgroßen Programmen bastelt man oftmals mehr am Schutz als am eigentlichen Programm). Die Nächste Frage die du dir in diesem Zusammenhang stellen kannst ist ob überhaupt jemand Interesse hat dein Programm zu cracken. Wenn niemand Interesse an deinem Programm hat kannst du dir selbst die Arbeit für einen miserablen Crackschutz sparen. |
Re: Programm vor Crackern schützen?
wie schon gesagt wurde, gibt es KEINE 100%ige sicherheit in sachen cracken!!
und jetzt kommt das ABER: du kannst es natürlich auch mit teilweise leichten mitteln den leuten schwer machen, bzw das cracken des programms nur auf die "profis"verschieben!!! folgendes sollte man dabei benutzen/einbauen/verwenden: :arrow: verwende im serial bereich, oder in bereichen die wichtig sind für das registrieren des programms keine messageboxen und melde fenster, verlege die mitteilungen in dem fall in einen log, der keine ausgaben macht :arrow: verwende nie (procedure/function)namen die "eindeutig" sind, wie zb "validserial" oder "activationcheck" :arrow: baue crc32 checks, checksum checks, grössenvergleiche der datei, auslesen der copmuter spezifischen einstellungen, und andere dinge (da sind der fantasie eigentlich keine grenzen gesetzt :arrow: verschlüssel alle (und damit mein ich alle) meldungen des programms, und alle anderen dinge wie namen, serials, fensternamen (zb enter serial here) usw :arrow: verschlüsse/packe auch die datei zb mit asprotect, upx, und was es da noch so giebt (googeln), dann mit bissel erfahrung kannst du dir selber ein wenig das inhalsvereichnis (pe header) der eigenen anwendung durcheinanderbringen!! somit ist es standart tools die zum entpacken solcher anwendungen geschrieben wurden oft unmöglich das decodieren/entpacken zu bewerkstelligen (aber achtung, pass auf das dein programm selber keinen schaden nimmt) :arrow: versuche geziehlte stellen des quellcodes nachträglich, vllt zb mit nem timer zu checken und die richtigen bytes auslesen die den sprung oder ähnliches enthalten zu kontollieren (damit hab ich persönlich gute erfahrung gemacht ist aber aufwendig, da es für jede neukompilierte datei neu bearbeitet werden muss (wegen grösse und so)) :arrow: verwende "kleine miese tricks" also, bei veränderter datei oder der gleichen lösche (nur die dateien deines programms) wichtige bibliotheken oder so für immer, so wird das programm bei jemanden der sich ans werk macht echt zur quahl, einmal falsch oft neuinstallieren oder kopiren (das zögert die zeit so doll hinnaus das viele leute ablassen) (aber nochmals, lösche keine systemdatei oder sowas als sozusagen "zur strafe") :arrow: date oft das programm ab, mit veränderten sicherheits ideen :arrow: baue kleine verwirrungen ein, wie zb strings mit registration, oder keyfile.reg, serial, oder sonnstige sachen die ab und an mal ausgelesen werden, aber quasi nichts mit passiert, oder sonnstwohinn fehlleiten auch kann man strings verwenden die auf prozeduren hinndeuten, also zb nen string mit dem inhalt "showmessagebox" oder "getwindowtext" (das kann dazuführen das der dissasembler durcheinander kommt :arrow: frage an mehreren orten im quellcode die sicherheitsroutinen ab (programmiere sie auch öfter, nicht nur verlinken) :arrow: alle dinge die vllt in einer shareware version nicht nutzbar sein sollen, aollten auch dynamisch erstellt werden, also zur laufzeit, um zu verhindern das hacker mit einfachen resourceeditoren an jeglichen welchen rumfuschen können :!: so das sollte erstmal reichen für den anfang, ich hoffe es hilft dir weiter wenn mir noch paar dinge einfallen poste ich sie vllt dazu mfg |
Re: Programm vor Crackern schützen?
Zitat:
|
Re: Programm vor Crackern schützen?
Erstmal danke für die vielen Anregungen und Erläuterungen!
Mich würde noch interessieren wie lange es ungefär dauert bis man das Programm gecrackt hat, wenn man alle Maßnahmen von lbccaleb beachtet und zusätzlich noch Themida verwendet? |
Re: Programm vor Crackern schützen?
Zitat:
auf der anderen seite gibt es user, die den ganzen tag mit diesen programmen arbeiten, die brauchen wenn sie gerade gut drauf sind vllt ne halbe stunde ;-( mfg |
Re: Programm vor Crackern schützen?
|
Re: Programm vor Crackern schützen?
Zitat:
|
Re: Programm vor Crackern schützen?
Zitat:
mfg |
Re: Programm vor Crackern schützen?
DLL export-namen kann man rausfinden, mann sollte also hier keine Aussagekräftigen name wie IsRegistered oder so nehmen.
|
Re: Programm vor Crackern schützen?
ibccaleb : Dominikkv hat verstanden was ich sagen wollte.
|
Re: Programm vor Crackern schützen?
natürlich ich auch, und eigentlich sollte man überall aussagekräftige namen bzw bezeichnungen verwenden....
nur dort nicht, wo man gezielt leute mit "falschen" variablen oder konstanten oder aufrufen irreleiten will.. |
Re: Programm vor Crackern schützen?
Die Client Server Methode ist eine enschränkung im Produkt. Du musst beim Verkauf auf so etwas hinweisen. Es könnte sein, dass dem Benutzer sonst Internet-Kosten anfallen oder dass er das Produkt auf einem Computer starten will auf dem kein Internet Verfügbar ist.
Du kannst natürlich auch Folgende Methode verwenden, alldings musst du dann noch mal ein bisschen umschreiben. Du pachst den Hauptteil des Programms in ne Dll. Diese Packst du in ein .rar. Das Rar verschlüsseln (brute Force bei rar arciven dauert lange). Natürlich solltest du ein ordentliches Passwort nehmen(alle zeichen verwenden). Dann kannste irgendwo ne stringlist unterbringen. Strings können aus exe dateien ausgelesen werden. Um dies zu verhindern, musst du viele Strings einbauen. Dann noch nen array of z.b Integer. dann suchst du dir irgendeinen immer gleichbleibenden parameter aus (zb. die größe eines Buttons). Dieser Wert gibt den index im integer array an, welcher den index des stringarrays enthällt. angenommen du hast nen array of 1024 integer und nen string array of 4048 Strings. Wenn du jetz anstatt einem parameter gelcih mehrere Möglichkeiten nimmst, und die ergebnisse (strings) daraus zusammen setz und vllt nacher noch ein logisches And mit einem anderen String machst, dann hat der Cracker eher im Lotto gewonnen als dass er dein rätsel herausgefunden hat. Außerdem muss der erst mal checken, dass du eine string list mit bruchstücken von keys verwendest und diese zusammensetzen lässt. Wenn du ganz schlau wärst, würdest du auch keine strings sondern die entsprechende ansi indexnummernfolge als integer64 riesenzahl abspeichern. Ich hoffe ich hab für verwirrung gesorgt, weil das system ja auch verwirren soll. :mrgreen: Edit:// Wenn du das zusammensetzen der Strings bzw dann sind es ja nur noch integer zahlen von calc erledigen lässt, dann werden die zahlen nich einmal von deinem Programm zusammengerechnet sondern vom Windows-Taschenrechner. gruß snow |
Re: Programm vor Crackern schützen?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 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