Hardcoding



  • Hallo

    Wenn ich in einem Programm das schreibe:

    typedef unsigned short int ItemID;
    ItemID Foo = 14523;
    ItemID Bar = 4356;
    ItemID Qux = 89226;
    

    Wie einfach ist das für einen zu verändern, der die kompilierte exe-Datei aber keinen Source hat?

    MfG, EOutOfResources

    EDIT: Er kennt die Werte nicht.



  • In der EXE könnte man natürlich nach diesen Werten suchen (wenn man sie kennt). Ansonsten bleibt immer noch die Möglichkeit, die Daten-Sektion der EXE nach verdächtigen Werten zu durchsuchen und blind auszuprobieren was passiert, wenn man an einem davon schraubt.

    Weswegen willst du das eigentlich wissen? Haben diese Werte eine sicherheitskritische Bedeutung oder was?



  • CStoll schrieb:

    Haben diese Werte eine sicherheitskritische Bedeutung oder was?

    Nein, eigentlich nicht. Aber ich würde es bevorzugen, wenn die Werte bleiben wie ich sie gestellt habe.



  • Sind das erste Anzeichen von Paranoia? 😃

    Normale Anwender werden sich bestimmt nicht die Mühe machen, dein Programm zu disassemblieren, nur um dort ein paar seltsame Defaultwerte zu sehen und anzupassen - und gegen jemanden, der die nötige Motivation hat, das zu tun, wirst du nicht viel ausruchten können.



  • CStoll schrieb:

    Sind das erste Anzeichen von Paranoia?

    Noch nicht :p

    CStoll schrieb:

    wirst du nicht viel ausruchten können.

    OK.



  • EOutOfResources schrieb:

    CStoll schrieb:

    Haben diese Werte eine sicherheitskritische Bedeutung oder was?

    Nein, eigentlich nicht. Aber ich würde es bevorzugen, wenn die Werte bleiben wie ich sie gestellt habe.

    Was hat es mit den Werten auf sich?


  • Mod

    EOutOfResources schrieb:

    Hallo

    Wenn ich in einem Programm das schreibe:

    typedef unsigned short int ItemID;
    ItemID Foo = 14523;
    ItemID Bar = 4356;
    ItemID Qux = 89226;
    

    Wie einfach ist das für einen zu verändern, der die kompilierte exe-Datei aber keinen Source hat?

    MfG, EOutOfResources

    EDIT: Er kennt die Werte nicht.

    Normalerweise sehr einfach, es kommt aber auch auf den Zusammenhang an.



  • Zu ändern ist es einfach, zu finden nicht unbedingt. Da braucht man schon einiges an Background-Wissen/Erfahrung + die nötigen Werkzeuge.



  • EOutOfResources schrieb:

    CStoll schrieb:

    Haben diese Werte eine sicherheitskritische Bedeutung oder was?

    Nein, eigentlich nicht. Aber ich würde es bevorzugen, wenn die Werte bleiben wie ich sie gestellt habe.

    Dann berechne sie zur Laufzeit aus Grundwerten, typische Verschlüsselungsverfahren bieten sich an.

    Dann wird es zumindest nichts mehr bringen, nur nach den Daten zu suchen, sofern die bekannt sind.

    Denn dann muß der Spion auch herausfinden, daß es im Programm eine Funktion gibt, die die Daten zusammenrechnet.



  • Oder du lädtst sie auf einen Server und downloadest sie jedes Mal beim Programmstart. Dann muss man schon mal deinen Server hacken, um die Werte zu ändern. 😃



  • wxSkip schrieb:

    Oder du lädtst sie auf einen Server und downloadest sie jedes Mal beim Programmstart. Dann muss man schon mal deinen Server hacken, um die Werte zu ändern.

    Nö, muss man nicht. Man muss nur den Server austauschen durch einen eigenen oder die Server-Abfrage gleich ganz entfernen.


Anmelden zum Antworten