Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Funktion einer Software nachbauen (https://www.delphipraxis.net/142398-funktion-einer-software-nachbauen.html)

DIET3RIX 27. Okt 2009 14:45


Funktion einer Software nachbauen
 
Hallo alle zusammen,

ich weiß nicht, ob der Titel so passend ist, aber mir ist leider nichts besseres eingefallen.

Und zwar möchte ich wissen, wie man vorgeht, wenn man rausfinden möchte wie eine bestimmte Software funktioniert, um es ggfs. nachzubauen. Zusätzlich möchte ich wissen, wie man sich davor schützen kann.


Da es sich mit Beispielen besser erklären lässt, folgendes Beispiel:
Ich programmiere eine Software, welche einen bestimmten Schlüssel (2-3 Zeichen lang) generiert (Zahlen von 0 - 9 [int]). Wie könnte man vorgehen, um den Generator möglichst genau nachzubauen.
Welche Möglichkeiten hat man, um sich möglichst effektiv davor zu schützen?


Ich hoffe ihr wisst was ich meine. Wenn ihr noch Fragen habt, werde ich diese gerne beantworten.

Sir Rufo 27. Okt 2009 15:11

Re: Funktion einer Software nachbauen
 
Dat baut dir keiner nach, da geht jeder mit nem BruteForce dran und probiert die Möglichkeiten (<1000) einfach aus :mrgreen:

DIET3RIX 27. Okt 2009 15:16

Re: Funktion einer Software nachbauen
 
und wenn der Schlüssel 20 Zeichen lang wird (0-9;a-Z)

ToFaceTeKilla 27. Okt 2009 15:22

Re: Funktion einer Software nachbauen
 
Klingt als wölltest du einen Seriennummern-Generator schreiben?
Bin da zwar kein Experte, aber ich würde mal sagen, ohne ein entsprechend großes Sample dürfte es schwer fallen, da ein Muster zu erkennen. Und wenn der Schlüssel nicht durch das Programm selbst validiert wird, sondern via Online-Abfrage bei deiner Datenbank, dürfte auch der Reverse-engineering-Ansatz wegfallen.
Just my 2 Cents...

RWarnecke 27. Okt 2009 15:23

Re: Funktion einer Software nachbauen
 
Hallo Dieter,

richtig schützen dagegen kann man sich nie. Es wird irgendjemanden geben, der wieder einen Weg findet diesen Schlüssel zu umgehen. Dabei zählt natürlich auch der Kosten/Nutzen Faktor. Sind die Kosten und die Zeit zu hoch, wäre mir das egal, ob jemand meinen Schlüssel knackt oder nicht.

Du kannst dazu verschiedene Algorithmen verwenden oder verschiedene Verschlüsselungsverfahren. Zu beiden Begriffen findest Du hier einiges in der DP.

BUG 27. Okt 2009 15:25

Re: Funktion einer Software nachbauen
 
Hört sich irgendwie so an, als würde dir folgende Stichworte helfen in der DP Material zu finden:Das Thema Kopierschutz gibt es ja immer mal wieder.

Vielleicht auch interessant:
MfG,
Bug

Sir Rufo 27. Okt 2009 15:25

Re: Funktion einer Software nachbauen
 
Zitat:

Zitat von DIET3RIX
und wenn der Schlüssel 20 Zeichen lang wird (0-9;a-Z)

Bis zu einer gewissen Trivialität des Codes geht man da mit Brute-Force dran.

Nimmt die Komplexität zu (wir können es uns schon denken) dann ist der Brute-Force eher doof.
Dann nimmt man den Debugger zur Hand und schaut mal, was das Programm denn so macht.

Speziell zu diesem Thema findest du auf dieser Seite (englisch) einige interessante Hinweise.

cu

Oliver

DIET3RIX 27. Okt 2009 15:46

Re: Funktion einer Software nachbauen
 
Danke für eure Antworten. Werde mir die Links angucken.

Und nein, ich möchte kein Keygen o.ä. schreiben. Es interessiert mich einfach nur.

himitsu 27. Okt 2009 16:31

Re: Funktion einer Software nachbauen
 
Zitat:

Vermeiden sie auch (wichtige) Strings "hardzucoden". Dies ist immer der erste Anhaltspunkt, wenn man ein Programm crackt. Viel besser ist es, wenn man Strings aus ASCII-Zeichen zusammensetzt. Bsp.: char(65)+char(66)...
Sowas finde ich immer wieder witzig und vollkommen sinnlos.
(der Compiler setzt es doch eh wieder in einen "lesbaren" String zusammen)

lbccaleb 27. Okt 2009 17:50

Re: Funktion einer Software nachbauen
 
Zitat:

Zitat von himitsu
Zitat:

Vermeiden sie auch (wichtige) Strings "hardzucoden". Dies ist immer der erste Anhaltspunkt, wenn man ein Programm crackt. Viel besser ist es, wenn man Strings aus ASCII-Zeichen zusammensetzt. Bsp.: char(65)+char(66)...
Sowas finde ich immer wieder witzig und vollkommen sinnlos.
(der Compiler setzt es doch eh wieder in einen "lesbaren" String zusammen)

Nicht in jeder Programmier Sprache ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 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