garrosh
Goto Top

Android Source vor Änderungen schützen

Ich habe eine native Android-App auf Google Play veröffentlicht.
Da die App via Baukastenprinzip erstellt wurde verstehe ich deren Funktionsprinzip nicht so wirklich.

Mein Interesse aber liegt jetzt darin, wie ich es vermeiden kann, dass Nutzer die Dateien editieren können. Also wie ich Schreibrechte entziehen kann, so dass Android nur lesende Rechte hat um die App auszführen, aber ansonsten die Dateien vor Editieren/ Manipulieren schützt.

Ich habe mir sagen lassen dass man irgendwo die App-Berechtigungen anpassen müsste. Aber ich weiss nicht ob es die manifest-xml steuert oder eine andere elementare Datei und wie der Befehl aussehen sollte.

Ich danke im Voraus.

Content-ID: 3698060462

Url: https://administrator.de/contentid/3698060462

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

3479126418
3479126418 19.08.2022 aktualisiert um 13:26:00 Uhr
Goto Top
Zitat von @Garrosh:
Ich habe eine native Android-App auf Google Play veröffentlicht.
Aha.
Da die App via Baukastenprinzip erstellt wurde verstehe ich deren Funktionsprinzip nicht so wirklich.
Sehr schlecht.
Mein Interesse aber liegt jetzt darin, wie ich es vermeiden kann, dass Nutzer die Dateien editieren können.
Welche Daten genau??
Also wie ich Schreibrechte entziehen kann, so dass Android nur lesende Rechte hat um die App auszführen, aber ansonsten die Dateien vor Editieren/ Manipulieren schützt.
App-Installations-Daten kann ein normaler User sowieso nicht ändern da ihm dort Schreibrechte fehlen , in das Verzeichnis kommt er per Default sowieso nicht außer mit Root-Rechten.
Ich habe mir sagen lassen dass man irgendwo die App-Berechtigungen anpassen müsste. Aber ich weiss nicht ob es die manifest-xml steuert oder eine andere elementare Datei und wie der Befehl aussehen sollte.
Erst mal sagen was du schützen willst.

Oder sich vielleicht besser gleich mal die Android App Programmier-Grundlagen aneignen, wenn man schon selbst eine App veröffentlicht ohne dessen Inhalt und Funktionsweise wirklich zu kennen, da kann man eigentlich nur den Kopf schütteln, sorry.
Garrosh
Garrosh 19.08.2022 aktualisiert um 13:25:48 Uhr
Goto Top
Danke für deine Antwort, muss aber widersprechen.

Es gibt Dateexplorer die das aktive Editieren ermöglichen. Und genau das will ich, falls möglich, vermeiden.

Es gibt keinen Anlass von deiner Seite, unfreundlich zu werden. Nicht jeder ist Perfekt wie du.


Gundsätzlich soll das Ziel sein, dass Nutzer nicht im Ansatz eine Möglichkeit finden (durch Dritt-Apps oder anderen Umwegen) App-Dateien zu bearbeiten.
3479126418
3479126418 19.08.2022 aktualisiert um 13:33:24 Uhr
Goto Top
Zitat von @Garrosh:
Es gibt Dateexplorer die das aktive Editieren ermöglichen. Und genau das will ich, falls möglich, vermeiden.
Wirst du nicht verhindern können wenn du Android rootest kannst du eh alles bearbeiten.
Es gibt keinen Anlass von deiner Seite, unfreundlich zu werden. Nicht jeder ist Perfekt wie du.
Hä wo bin ich unfreundlich?? Du trägst die Verantwortung für deine Veröffentlichung und wenn du das einfach so tust ohne sich über die Konsequenzen klar zu sein ... da muss man schon eine gehörige Portion Leichtsinn mitbringen. Ein verantwortungsvoller Admin weist einen immer auf sowas hin!
Gundsätzlich soll das Ziel sein, dass Nutzer nicht im Ansatz eine Möglichkeit finden (durch Dritt-Apps oder anderen Umwegen) App-Dateien zu bearbeiten.
Wie gesagt wenn sich der User Root Rechte besorgt kann er das immer, bringt also gar nüscht.

Schütze die Ausführung Code per Zertifikats-Signatur, so das er nur ausgeführt wird wenn die Signatur gültig ist.
michi1983
michi1983 19.08.2022 um 13:27:57 Uhr
Goto Top
Zitat von @Garrosh:
Es gibt keinen Anlass von deiner Seite, unfreundlich zu werden. Nicht jeder ist Perfekt wie du.

Das hat nichts um freundlich/unfreundlich zu tun.
Es hat eher etwas mit Ethik und Verantwortungsbewusstsein zu tun.
Wenn du eine App "entwickelst" deren Funktionsumfang du nicht kennst, ist die Wahrscheinlichkeit recht hoch, dass es auch Einfallstore in die App gibt die genutzt werden können um Schaden anzurichten.
Google hat hier teils recht lasche Voraussetzungen um eine App der ganzen Welt im App Store zur Verfügung zu stellen.
Den Rest kannst du dir ja selber denken.

Gruß
Garrosh
Garrosh 19.08.2022 aktualisiert um 13:32:55 Uhr
Goto Top
Zitat von @michi1983:

Zitat von @Garrosh:
Es gibt keinen Anlass von deiner Seite, unfreundlich zu werden. Nicht jeder ist Perfekt wie du.

Das hat nichts um freundlich/unfreundlich zu tun.
Es hat eher etwas mit Ethik und Verantwortungsbewusstsein zu tun.
Wenn du eine App "entwickelst" deren Funktionsumfang du nicht kennst, ist die Wahrscheinlichkeit recht hoch, dass es auch Einfallstore in die App gibt die genutzt werden können um Schaden anzurichten.
Google hat hier teils recht lasche Voraussetzungen um eine App der ganzen Welt im App Store zur Verfügung zu stellen.
Den Rest kannst du dir ja selber denken.

Gruß

Dann habe ich das mit "unfreundlich" fehlinterpretiert. Sorry dafür.

Naja all zu lasch ist Google nicht, wenn ich einen Fragenkatalog zum Datenschutz ausfüllen muss, die App Einführung zwei mal abgelehnt und beim dritten mal zugelassen wurde.

Tatsächlich versuche ich mich in die Programmierung einzulernen um mich unabhängig von Baukästen zu machen.
Aber als erste Lösung sicherlich eine gute Alternative.

Das mit Root-Privilegien ist mir bewusst und auch ein Dorn im Auge. Aber nicht jeder Nutzer rootet.
Ich habe mir sagen lassen, dass ich irgendwo einen Command einfügen soll, der jedem das Recht entzieht Dateien zu editieren geschweige die App-Verzeichnisstruktur zu öffnen.
3479126418
3479126418 19.08.2022 aktualisiert um 13:37:03 Uhr
Goto Top
Wie gesagt vor genereller Manipulation schützen kannst du es nicht, aber vor der Ausführung veränderten Codes.

Schütze die Ausführung des Codes per Zertifikats-Signatur, so das er von deiner Anwendung nur ausgeführt wird wenn die Signatur der App gültig ist. Den private Key deines Zertifikates besitzt ja nur du und jemand der ihn nicht hat kann auch deine App nicht ändern oder ausführen weil dann die Signatur bei Veränderung nicht mehr gültig ist.
Garrosh
Garrosh 19.08.2022 aktualisiert um 13:39:34 Uhr
Goto Top
Zitat von @3479126418:

Wie gesagt vor Manipulation schützen kannst du es nicht, aber vor der Ausführung veränderten Codes.

Schütze die Ausführung des Codes per Zertifikats-Signatur, so das er von deiner Anwendung nur ausgeführt wird wenn die Signatur der App gültig ist. Den private Key deines Zertifikates besitzt dann nur du und jemand der ihn nicht hat kann auch deine App nicht ändern oder ausführen weil dann die Signatur bei Veränderung nicht mehr gültig ist.

Und wie müsste das tatsächlich aussehen?
Beziehungsweise, wie lasse ich die App nach dem Zertifikat, welches auf dem Host liegt, vergleichen oder abfragen um Änderungen zu erkennen und abzulehnen?
Ja ich bin da noch ein Noob, aber tatsächlich interessiert von der Community zu lernen.
3479126418
Lösung 3479126418 19.08.2022 aktualisiert um 13:42:16 Uhr
Goto Top
Zitat von @Garrosh:
Und wie müsste das tatsächlich aussehen?
Würdest du es denn überhaupt verstehen wenn du deine App selbst schon per Baukasten gebaut hast, hast du wohl auch keine Ahnung von Java etc.?
Ja ich bin da noch ein Noob, aber tatsächlich interessiert von der Community zu lernen.
Beschäftige dich doch erst mal mit den Signatur-Grundlagen dann kann man einen Schritt weiter gehen, von Copy n Paste lernst du ja nichts wenn du was lernen willst.
https://www.elektronik-kompendium.de/sites/net/1910131.htm

Übrigens APKs sind von im Store angebotenen Apps müssen per default signiert sein.
https://developer.android.com/studio/publish/app-signing
3479126418
3479126418 19.08.2022 aktualisiert um 13:51:12 Uhr
Goto Top
Ich habe mir sagen lassen, dass ich irgendwo einen Command einfügen soll, der jedem das Recht entzieht Dateien zu editieren geschweige die App-Verzeichnisstruktur zu öffnen.
Das ist Blödsinn. Dazu müsste man der App-Root Rechte gewähren, solche Apps/Virenschleudern lässt der Appstore eh nicht zu. Lesen können muss der User das Verzeichnis sonst könnte er die App ja garnicht ausführen.
Eine App selbst kann per Default erst mal nichts im Dateisystem ändern/lesen , solche Rechte muss eine App immer vom Benutzer anfordern, entweder per Definition im Manifest oder programmatisch per Code.
Garrosh
Garrosh 19.08.2022 um 13:47:50 Uhr
Goto Top
Zitat von @3479126418:

Zitat von @Garrosh:
Und wie müsste das tatsächlich aussehen?
Würdest du es denn überhaupt verstehen wenn du deine App selbst schon per Baukasten gebaut hast, hast du wohl auch keine Ahnung von Java etc.?
Ja ich bin da noch ein Noob, aber tatsächlich interessiert von der Community zu lernen.
Beschäftige dich doch erst mal mit den Signatur-Grundlagen dann kann man einen Schritt weiter gehen, von Copy n Paste lernst du ja nichts wenn du was lernen willst.
https://www.elektronik-kompendium.de/sites/net/1910131.htm

Übrigens APKs sind von im Store angebotenen Apps müssen per default signiert sein.
https://developer.android.com/studio/publish/app-signing

Werde mich da mal reinstudieren. Danke dir! face-smile