Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   adaptives codieren (https://www.delphipraxis.net/86618-adaptives-codieren.html)

Arnulf 16. Feb 2007 11:58


adaptives codieren
 
Hi
Ich wollte ein altes programm von mir etwas sicherer machen.
Dazu will ich eine codierung einführen.
Ich hab allerdings das problem, dass das programm immer wieder status codes schickt und zwar als binär tabelle.
wobei "0 = alles ok" ist
und alle anderen exponenten eben verschieden status codes sind.

ein einfaches codieren würde nichts bringen, weil die codes ja immer gleich sind.
jetzt bräuchte ich eine art adaptiven code den ich auch leicht verändern bzw. bei einer neuen version einfach anpassen kann.

es geht nicht darum, dass der code unknackbar sein soll ( was in meine fall ja eh unmöglich zu verwirklichen wäre ) sondern
er soll nicht einfach durch zuschauen der strings leicht nachgebaut werden können.
also man soll sich zumindestens die Arbeit machen müssen das programm zu debuggen um hinter den code zu kommen.
bei regelmäßigen updates wäre mir dann der schwierigkeitsgrad relativ egal - hier geht es um die verbreitung von fake versionen.

kann mir jemand hier einen tip geben was ich verwenden könnte.
ich hab einfach nicht so die richtige idee dazu.

thx
Arnulf

shmia 16. Feb 2007 13:00

Re: adaptives codieren
 
Zitat:

Zitat von Arnulf
Ich wollte ein altes programm von mir etwas sicherer machen.
Dazu will ich eine codierung einführen.
Ich hab allerdings das problem, dass das programm immer wieder status codes schickt und zwar als binär tabelle.
wobei "0 = alles ok" ist
und alle anderen exponenten eben verschieden status codes sind.

Du sprichst in Rätseln. :wiejetzt:
Dein Programm schickt status codes ?
Wer ist der Empfänger ?
Wie findet die Kommunikation statt ? Innerhalb deiner Anwendung oder über TCP/IP oder Window-Messages ?
Wozu brauchst du fake versionen ?
Wenn willst du austricksen ?
Gibt es überhaupt einen Angreifer ?

Arnulf 16. Feb 2007 14:00

Re: adaptives codieren
 
hallo

Zitat:

Gibt es überhaupt einen Angreifer ?
genug - wurde schon mehrfach gehackt :)
Zitat:

Wenn willst du austricksen ?
noob hacker - oder leute die sich ein bisschen mit debuggern auskennen
oder eben sniffer benutzen und aus dem protokoll gefakte clients bauen.
echte profis kann ich eh nicht abhalten aber das ist schon ok ....
Zitat:

Wozu brauchst du fake versionen ?
wieso brauchen? - ich will die verhindern
ich will verhindern, dass man einfach durch sniffen einen client nachbauen kann ( ohne viel stress ).
Zitat:

Wie findet die Kommunikation statt ? Innerhalb deiner Anwendung oder über TCP/IP oder Window-Messages ?
tcp - sockets
Zitat:

Wer ist der Empfänger ?
sender - meine clients/ empfänger - mein server
Zitat:

Dein Programm schickt status codes ?
richtig
es wird eine verbindung aufgebaut - ein paar daten ausgetauscht
und dann werden nur noch status codes geschickt
das binär codiert - also 0,1,2,4,16 .....
die addiert geben eben die einzelnen codes
Zitat:

Du sprichst in Rätseln.
weiß nicht - hab versucht so klar wie möglich zu sein :)

lg
Arnulf

shmia 16. Feb 2007 14:11

Re: adaptives codieren
 
Zitat:

Zitat von Arnulf
tcp - sockets
Zitat:

Wer ist der Empfänger ?
sender - meine clients/ empfänger - mein server
es wird eine verbindung aufgebaut - ein paar daten ausgetauscht
und dann werden nur noch status codes geschickt
das binär codiert - also 0,1,2,4,16 .....

Ok, diese Info hat oben gefehlt.
Am Anfang der Verbindung werden ein paar Daten ausgetauscht.
Erweiterung: Ein Teilnehmer schickt dem anderen zusätzlich eine 32Bit Zufallszahl
Beide Seiten speichern die Zufallszahl.
Ab diesem Zeitpunkt werden alle Daten beim Senden und beim Empfangen mit dieser Zahl geXORed.
Die XOR Operation, zweimal angewendet ergibt wieder den Klartext:
klartext XOR Key ==> verschlüsselterText (Sender verschlüsselt)
verschlüsselterText XOR key ==> klartext (Empfänger entschlüsselt)

Arnulf 16. Feb 2007 15:22

Re: adaptives codieren
 
da ist nicht viel unterschied zu einem ceasar.
zumindestens wenn die zahl bekannt ist.
und die wird ja geschickt.
so als jemand der nicht viel ahnung hat von verschlüsselung würde ich doch
vermutlich mal nach einem schlüssel suchen den sich die beiden ausmachen
und dann mal eben ceasar oder xor versuchen - oder so ähnlich simple verschlüsselungen.

da ist es schon besser man nimmt ein zufallszahlenreiche und benutzt die verbindungszeit eines
servers der irgendwo steht ( mit 5 minuten delay ) und verschlüsselt danach xor.

das ist auch noch halbwegs simpel rauszulesen - aber da muss mach schon mehr ideen haben.
leider sieht man ja mit einem sniffer auch das anfordern der uhrzeit usw...

ist ein schwieriges thema - und wie gesagt es soll nicht allzu einfach sein und leicht änderbar.
man bekommt sowas schon raus, aber bei jeder neuen version sollen sich hacker schon nochmal bemühen müssen.
quälen heißt die devise - das ist das einzige was halbwegs hilft.
für den programmiere leicht adaptierbar - für hacker umständlich nachvollziehbar - so sollte es sein.

lg
Arnulf


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