2017-03-13 6 views
-2

Ich lerne immer noch QT, und dieses Ding kommen mir in den Sinn: Wenn ich ein Programm entwerfe und möchte, dass einige Daten gespeichert und geschützt werden, alle Arten, die ich über das Speichern von Daten aus QT weiß Erstelleranwendungen schreiben in Dateien, die leicht geändert und gelöscht werden können. Gibt es eine Möglichkeit, dass ich einige Anwendungsdaten sicher speichern kann und niemand sonst darauf zugreifen kann, ohne die Anwendung zu unterbrechen?Schützen Sie externe Datendatei vor unbefugten Änderungen

Das ist vielleicht eine blöde Frage, aber ich freue mich schon auf eine Idee. Vielen Dank.

Antwort

0

Es ist nicht möglich unmöglich zu machen, um Daten für jemanden neu zu schreiben, der Root-/Administratorzugriff hat. Sie können die Anwendung jedoch dazu veranlassen, nicht autorisierte Änderungen zu verweigern und zu beenden.

Vorausgesetzt, dass Sie eine externe Datendatei mögen, die nur innerhalb der Anwendung geändert werden, können Sie dies etwas liegen können:

Jedes Mal, wenn die Datendatei von der Anwendung geändert wird, einen Hash-Wert der Daten berechnen verschlüsseln Sie das und speichern Sie es in der Datendatei. Jedes Mal, wenn Sie die Daten lesen, hashen Sie zuerst die Daten, lesen Sie dann den gespeicherten Hash ein, entschlüsseln Sie ihn und vergleichen Sie ihn mit dem Daten-Hash. Wenn dies nicht der Fall ist, beenden Sie die Anwendung.

Auf diese Weise kann, wenn jemand Änderungen von außen vornimmt, der genaue verschlüsselte Hashwert für die Datendatei nicht angegeben werden, sodass die Hashprüfung fehlschlägt. Nur jemand mit dem geheimen Schlüssel kann Änderungen vornehmen, die die Anwendung akzeptiert.

+0

Diese Art von Trick ist nicht schwer mit einem Disassembler zu besiegen. Sie müssen lediglich den Vergleich vertauschen, damit die Anwendung nur dann beendet wird, wenn der Datendatei-Hash ** zutrifft **. Nicht dass ich jemals so etwas tun würde ... * hust *. – MrEricSir

+1

Es gibt kein unknackbares Schutzschema. Ich bezweifle sehr, dass die OP-Anwendung als ein hochwertiges Ziel betrachtet wird, das es wert ist, zerlegt und durchkämmt zu werden. Viele professionelle Software verwendet den gleichen Ansatz. Es ist mehr als ausreichend in diesem bestimmten Fall. – dtech

+0

"Diese Art von Trick ist nicht schwer mit einem Disassembler zu besiegen." Es gibt kein Ende, aber die Leute benutzen Kopierschutz. Das ist, weil die reale Welt nicht binär ist. –

Verwandte Themen