Exe oder ein offenes Buch ?



  • Hallo

    letztens hab ich die Feststellung machen müssen das ein von mir erstelltes Programm Beispiel.exe, seine Variablen offen legt. 😞
    Ich hab mal ein EXE mit notepad.exe geöffnet und konnte den Inhalt meiner Variablen ganz offen lesen.
    Was ist da falsch gelaufen?
    Eigentlich dachte ich, wenn der Code Compiliert wurde ist er(beziehungsweise seine Variablen und deren Inhalt)
    Beispiel: Cstring Name = “was soll das?“;

    nicht mehr sichtbar. Aber im falle Beispiel sehe ich: “was soll das?“

    Kann mir das einer von Euch Profis erklären und mir gegebenenfalls ein paar Tipps zum einstellen meines Kompilers geben?
    Oder muss ich etwa einen anderen Compiler benutzen.

    Ich benutze Visual C++ 6.0 Standard.

    Gruß Califax



  • "was soll das?" Ist für den Compiler ein Stringliteral, da es in "" steht.
    Und kein Variablennamen.
    Zu was sollte er es denn deiner Meinung nach ändern?

    Wenn ich sage: Öffne die Datei: "Text.txt" muss doch das Programm sich auch irgendwie den String merken. Was soll man denn da wegcompilieren???



  • Und verschlüsselt wir der Text ja auch nicht.



  • wen du reshack hast kannst du bei mfc anwendungen sogar die formulare anschauen und ändern



  • Hallo

    Also wenn ich ander Programme(Visual C++ erstellt MFC usw. ) mit notepad.exe anschaue geben die ihre Inhalte der Variablen nicht preis.
    Das muss doch einen Grund haben?

    Gruß Califax



  • Hallo

    Mal ein Beispiel warum ich das Frage .
    Was nützt eine Verschlüsselungsprogramm , wenn man ganz einfach über einen Editor(notepad.exe) die Variablen des Verschlüsselungsprogramms.exe auslesen kann?

    Gruß Califax



  • die Inhalte der Variabeln kann man nicht auslesen.. Nur die der Strings...



  • Man speichert ja wohl, dass entschlüsselte oder den Schlüssel nicht fest in der Datei, oder? 😃



  • burnner schrieb:

    die Inhalte der Variabeln kann man nicht auslesen.. Nur die der Strings...

    Um das noch genauser zu sagen.

    Man sieht die fest einkompilierten Strings.



  • Hallo

    Danke in die runde für die Antworten .
    Aber wenn man mit festen Strings arbeiten muss, wie kann man das umgehen.

    Um das noch genauser zu sagen.

    Man sieht die fest ein kompilierten Strings.

    Kann mir das,als nicht so geübten, mal bitte einer an Hand des oben genannten Beispiel zeigen?

    Gruß Califax



  • Du wirst in fast jedem GUI-Programm mit festern Strings arbeiten müssen da ja etwas auf der GUI ausgegeben werden muss und wenn es nur ein Hilfetext ist.

    Sonst musst du schon genauer sagen was in deinem String steht und so wichtig ist das man ihn nicht lesen darf.



  • Unix-Tom schrieb:

    Du wirst in fast jedem GUI-Programm mit festern Strings arbeiten müssen da ja etwas auf der GUI ausgegeben werden muss und wenn es nur ein Hilfetext ist.

    Sonst musst du schon genauer sagen was in deinem String steht und so wichtig ist das man ihn nicht lesen darf.

    Sehr beliebt sind feststehende ODBC Verbindungen ala:
    DSN = "DSN=mydsn;UID=user1;PWD=admin";

    Sowas kann man umgehen in dem man entweder solche dinge dem User überlässt,
    und der das dann eingeben muss, oder in dem man sich ein programm schreibt
    welches diese Werte verschlüsselt, und man sie dann nur verschlüsselt
    abspeichert.

    Devil



  • Was nützt eine Verschlüsselungsprogramm , wenn man ganz einfach über einen Editor(notepad.exe) die Variablen des Verschlüsselungsprogramms.exe auslesen kann?

    Also ich sags mal mit den Worten von Kerckhoff: "Die Sicherheit eines Verschlüsselungsverfahrens darf nur von der Geheimhaltung des Schlüssels, nicht jedoch von der Geheimhaltung des Algorithmus abhängen"
    oder so ähnlich

    Und ein fester Wert in der Exe-Datei gehört dann ja quasi zum Algorithmus mit dazu.

    Hilft jetzt dir zwar nicht weiter, aber nur mal so als Info 😉

    Vielleicht könntest du ganz einfach deinen String in ASCII-Werte mit Trennzeichen umwandeln, dann sieht man es nicht sofort in der Datei und es ist recht einfach zu realisieren



  • Hallo

    Danke für Eure Bemühungen, ich sehe es hat ja einige sehr interessante Meinungen gegeben.

    Vielleicht führt die Diskussion ja noch zu weiteren Erkenntnissen.

    Gruß Califax



  • Zu welchen Erkentnissen?
    Tatsache ist das Strings in der Exe sichbar sind.
    Willst du das nichts musst du dir was einfallen lassen. Dies hat aber nichts mit MFC oder VC++ zu tun.



  • Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum MFC mit dem Visual C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten