Verschlüsselung



  • Hallo an alle

    Ich bin noch etwas neu in der Programmire Szene aber ich habe mal eine frage

    und zwar ich habe ein Spiel programmiert und ich will dies schützen die Ressourcen sind in verschiedenen Formaten also txt jpg wav usw ich will aber das die keiner einfach nehmen kann heißt die Ressourcen irgendwie in einen oder mehre Container packen und nur die Spiel exe soll darauf zugriff haben und die ist in C++ geschrieben ich habe leider keine Idee wie ich das realisieren kann hoffe ihr könnt mir irgendwie helfen vielleicht gibst ja auch schon was vorgefertigtes Programm.

    Danke für antworten



  • Hallo an dich

    Ich bin schon seit längerem hier in der programmire szene aber ich habe mal eine antwort

    ich muss dir leider sagen das dass nicht möglich ist in C++ und keiner anderen sprache die es hier in der programmire szene gibt weil so etwas rein theoretisch nicht möglich ist wenn jemand auf dein binary zugreifen kann und dieses die bilder auslesen kann kann er das auch weil das programm nicht mehr informationen haben kann wie der ausleser ich weiss das das komplizziert ist aber vollständigen schutz kannst du nicht finden alles was du machen kannst ist ist unwissenden noobs den zugriff zu verwehren in dem du jedes xte bit flippst oder so oder es mit lzma komprimierst etc ich gebe dir noch einen tipp schreibe ganz normales fehlerfreies deutsch mit gross und kleinschreibung und vor allem mit satzzeichen und ohne diesen monotonen flähr wie du ihn jetzt hast sonst macht sich niemand mehr die mühe deinen beitrag zu lesen auch hier in der programmire szene nicht punkt.

    bitte für antwort


  • Mod

    Readme.txt:

    Das ist alles meins und niemand darf es benutzen.
    


  • oh ich hatte mich vorher vergesse mich einzuloggen

    geht es nicht die Daten zb mit einem pw zu schützen und das pw in der exe anzugeben und die exe natürlich schützen und so

    PS habe gerade mal was gefunden und zwar asc Dateien und da schreibt einer das dazu

    "Normalerweise steht .asc einfach nur für ASCII-Text - Dein spezieller Fall deutet aber eher darauf hin, dass es sich um eine mit PGP verschlüsselte Datei handeln dürfte, die haben nämlich auch traditionell diese Endung. Lass mich raten: Raubkopie oder gerippter Film.

    Ohne den passenden Schlüssel hättest Du in dem Fall jedenfalls nicht die geringste Chance, das Ding zu decrypten - dafür ist PGP dann doch etwas zu gut."

    und das Format habe ich gerade in einem Spiel gefunden das fast genauso aufgebaut ist wie meins das müsste ich doch auch nehmen können



  • SeppJ schrieb:

    Readme.txt:

    Das ist alles meins und niemand darf es benutzen.
    

    👍 😃

    Was hast du denn so wichtiges programmiert, dass das niemand benutzen soll? Ich nehme nicht an, dass der Inhalt deines Programms so wichtig ist, dass das jeder weiterbenutzen will 😉
    Ich könnte mir höchstens noch vorstellen, dass du nicht willst, dass jeder deine Highscore Liste beliebig verändern kann.


  • Mod

    Azalen schrieb:

    oh ich hatte mich vorher vergesse mich einzuloggen

    geht es nicht die Daten zb mit einem pw zu schützen und das pw in der exe anzugeben und die exe natürlich schützen und so

    Und wo speicherst du das pw für die geschützte exe?



  • Azalen schrieb:

    geht es nicht

    Nein, unmöglich.

    Azalen schrieb:

    die Daten zb mit einem pw zu schützen

    Geht.

    Azalen schrieb:

    das pw in der exe anzugeben

    Geht.

    Azalen schrieb:

    und die exe natürlich schützen

    Geht nicht.

    Azalen schrieb:

    und so

    Genau so.



  • das kann ich doch direkt im Quelltext angeben oder nicht

    und die exe kann man doch mit Termidia oder so gegen auslesen schützen



  • Ja, aber man kann nachher jeden string wieder auslesen.



  • wow so schnelle antworten also kurtz nochmal zusammen fassen

    ich habe mir überlegt die Bilder und so mit einem passwort schützen natürlich verschlüsselt dann das Passwort in der exe angeben das würde ich aber auch kompliziert machen so das das dort irgentwie berechnet wird oder so und dann die exe mit Termidia oder so was ähnlichem schützen.

    und war ich es will ist ganz einfach ich will nicht 2 Jahre woran arbeiten und dann mir das klauen lassen

    mir ich natürlich klar das es kein 100% Schutz gibt aber es soll wenigsten
    gegen Leute sicher sein die sich bisschen auskennen und man solle es halt nicht mit bisschen Google finden wie es geht


  • Mod

    Azalen schrieb:

    mir ich natürlich klar das es kein 100% Schutz gibt aber es soll wenigsten
    gegen Leute sicher sein die sich bisschen auskennen und man solle es halt nicht mit bisschen Google finden wie es geht

    Leute die sich ein bisschen auskennen, lachen über Termidia (was ist das? Google hilft nicht), was auch immer es auch sein mag. Es geht einfach nicht.



  • Du kannst es ja mal mit Termidia versuchen. Es könnte vielleicht sogar relativ sicher sein, da sich wahrscheinlich niemand die Mühe macht das ganze zu "knacken".

    Aber dass es nicht geht zeigt sich ja schon bei den grossen Firmen. Ich bin ja immer wieder erstaunt wie schnell Games gecrackt werden. Oder z.B. auch die Adobe Programme. Und ich denke die könnten sich schon gute Leute leisten.

    Ich kenne mich damit allerdings nicht aus, hoffe, dass sich das im Laufe meines Studiums noch ändern wird.

    @SeppJ
    Hast du per Zufall irgendwo eine gute Referenz, die erklärt, warum das nicht möglich ist? Oder vielleicht einen Tipp wonach ich googeln soll? Würde mich noch interessieren.


  • Mod

    icarus2 schrieb:

    @SeppJ
    Hast du per Zufall irgendwo eine gute Referenz, die erklärt, warum das nicht möglich ist? Oder vielleicht einen Tipp wonach ich googeln soll? Würde mich noch interessieren.

    😕 Das wurde dir doch in diesem Thread erklärt.



  • SeppJ schrieb:

    icarus2 schrieb:

    @SeppJ
    Hast du per Zufall irgendwo eine gute Referenz, die erklärt, warum das nicht möglich ist? Oder vielleicht einen Tipp wonach ich googeln soll? Würde mich noch interessieren.

    😕 Das wurde dir doch in diesem Thread erklärt.

    Ja das stimmt schon. Hätte nur gedacht, dass es vielleicht etwas ausführlicher geht. Die Programme werden ja schon geschützt aber diese kann man ja umgehen. Hätte gedacht, dass es vielleicht etwas ausführlicher geht wie diese Mechanismen umgangen werden. (Nicht dass ich jetzt das Gefühl hätte, ich könne das dann auch ;))


  • Mod

    Um dein Programm auszuführen, musst du deine Daten irgendwie dekodieren. Da man einfach dein Programm analysieren kann wie es das macht, kann auch jeder andere deine Daten dekodieren. Die Verschlüsselung deines Programms verschiebt das Problem bloß eine Stufe. Denn um das Programm auszuführen, muss es erst durch ein anderes kleines Programm dekodiert werden. Und dieses kann man auch wieder analysieren. Und so weiter.

    Die Techniken dafür sind vom Prinzip her sehr einfach: Man kann a) Dein Programm dekompilieren und sich angucken, eventuell an entscheidenden Stellen verändern um die Schutzmechanismen auszuhebeln oder b) unter kontrollierten Bedingungen (Debugger) dein Programm bei der Dekodierung beobachten oder c) Dein Programm einfach laufen lassen und sich die von deinem Programm dekodierten Daten direkt aus dem Speicher deines Programms holen.

    Das Grundprinzip ist immer das gleiche: Wenn dein Programm ohne externe Eingabe an die Daten kommt, dann muss der Schlüssel irgendwo im Programm sein und da man ja das Programm hat, hat man auch den Schlüssel. Es ist bloß eine Frage, wie gut du den Schlüssel versteckst.



  • Achso, alles klar. Danke



  • Naja gehn tut es auf alle fälle es gibt nen Spiel aus china die haben das alles in irgendwelche Container gepackt und ich kenne gute Leute die versucht haben das auf zu bekommen und es wird jetzt schon fast nen Jahr versucht und es hat noch keiner geschafft.



  • @SeppJ:
    Ja, die Grundprinzipien sind denkbar einfach.

    Trotzdem gibt es immer wieder Programme an denen sich die Hacker (gute Hacker) lange Zeit die Zähne ausbeissen. Bis es dann doch endlich einer schafft, was wohl immer passiert, wenn das Programm nur interessant genug ist.

    Zu sagen es würde nichts bringen ist daher genau so falsch wie zu sagen es gäbe 100% sichere Schutzmechanismen.

    Und für das was Otto-Anfänger-Programmierer hier so zusammenprogrammiert, werden wohl relativ einfache Schutzmechanismen ausreichen -- weil es nämlich kaum jmd. interessiert was man als Anfänger so zusammenprogrammiert.
    Wenn man nur Noobs davon abhalten will die eigenen Assets zu verwenden reicht es schon die Asset-Files XOR zu verschlüsseln. Wobei natürlich nichts dagegen spricht "echte" Verschlüsselungsverfahren zu verwenden, wenn man Lust hast sich in entsprechende Libraries einzulesen oder sowas gar selbst zu programmieren.



  • Azalen schrieb:

    Naja gehn tut es auf alle fälle es gibt nen Spiel aus china die haben das alles in irgendwelche Container gepackt und ich kenne gute Leute die versucht haben das auf zu bekommen und es wird jetzt schon fast nen Jahr versucht und es hat noch keiner geschafft.

    Nochmal: grundsätzlich hat SeppJ schon Recht. Es gibt *keine* 100% sicherer Möglichkeit Daten zu schützen, wenn das Programm sie nutzen soll. Es *kann* nicht gehen, das sollte eigentlich klar sein.
    Man kann es nur "schwer genug" machen, aber unmöglich machen kann man es nicht.

    p.S.: OK, es gibt natürlich Möglichkeiten, aber die erfordern zusätzliche Hardware, und dass der Teil des Programms der die Daten nutzen soll auf dieser zusätzlichen Hardware läuft. Dann geht es. Ich denke aber dass du reine Software-Lösungen meinst, und die, wie gesagt, gibt es nicht.



  • Azalen schrieb:

    Termidia

    heißts nicht Themida 😕



  • Azalen schrieb:

    und war ich es will ist ganz einfach ich will nicht 2 Jahre woran arbeiten und dann mir das klauen lassen

    muß schon ne extrem coole software sein, dass es jemand juckt was du die letzten 2 jahre gemacht hast... 🙄


Anmelden zum Antworten