<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://k4cg.org/index.php?action=history&amp;feed=atom&amp;title=Event%3A2019%2F03%2F18_Android_intern</id>
	<title>Event:2019/03/18 Android intern - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://k4cg.org/index.php?action=history&amp;feed=atom&amp;title=Event%3A2019%2F03%2F18_Android_intern"/>
	<link rel="alternate" type="text/html" href="https://k4cg.org/index.php?title=Event:2019/03/18_Android_intern&amp;action=history"/>
	<updated>2026-05-13T09:53:50Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in k4cg.org</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>https://k4cg.org/index.php?title=Event:2019/03/18_Android_intern&amp;diff=18880&amp;oldid=prev</id>
		<title>Schabi: umzug meines vortrags, da datum falsch war</title>
		<link rel="alternate" type="text/html" href="https://k4cg.org/index.php?title=Event:2019/03/18_Android_intern&amp;diff=18880&amp;oldid=prev"/>
		<updated>2019-03-19T22:21:32Z</updated>

		<summary type="html">&lt;p&gt;umzug meines vortrags, da datum falsch war&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Datum:&amp;#039;&amp;#039;&amp;#039; 18. Februar 2019&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Einlass:&amp;#039;&amp;#039;&amp;#039; 19 Uhr&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beginn:&amp;#039;&amp;#039;&amp;#039; 19:30 Uhr&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Vortragende(r): [[Benutzer:Schabi|Schabi]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Wichtige pfade ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| /system&lt;br /&gt;
| System Verzeichnis (read only), hier liegen alle Android wichtigen System Dateien. &lt;br /&gt;
|- &lt;br /&gt;
| /vendor&lt;br /&gt;
| Ähnlich wie /system, allerdings liegen hier die Phone/Hersteller abhängigen System Dateien. &lt;br /&gt;
|- &lt;br /&gt;
| /data  &lt;br /&gt;
| Hier liegen alle für die Benutzung wichtigen Dateien bsp. Apps und deren Heimverzeichnisse. &lt;br /&gt;
|- &lt;br /&gt;
| /firmware&lt;br /&gt;
| Hier liegt die Firmware des Smartphones &lt;br /&gt;
|- &lt;br /&gt;
| /storage&lt;br /&gt;
| Hier sind die externen Sotrages eingebunden. &lt;br /&gt;
|- &lt;br /&gt;
| /storage/emulated/0&lt;br /&gt;
| Hier liegt der interne frei verwendbare speicher des 0ten Android Benutzers. &lt;br /&gt;
|- &lt;br /&gt;
| /storage/4829-2848 &lt;br /&gt;
| In diesem Verzeichnis ist die echte SD-Karte gemountet (nummern des Verzeichnis Namens nur ein Beispiel. &lt;br /&gt;
|- &lt;br /&gt;
| /system/bin&lt;br /&gt;
| Hier liegen die für android wichtigen Programme so wie befehle. Bsp. der dex2ota compiler &lt;br /&gt;
|- &lt;br /&gt;
| /system/xbin&lt;br /&gt;
| Hier liegen auf gerooteten Phones custom befehle. Bsp. Bussybox. &lt;br /&gt;
|- &lt;br /&gt;
| /system/app&lt;br /&gt;
| Hier liegen die von der Android rom mitgelieferten apps. &lt;br /&gt;
|- &lt;br /&gt;
| /system/priv-app&lt;br /&gt;
| Steht für Priviliged apps. Hier liegen Apps die erhöhte rechte haben. Zwar kein root, aber sie dürfen bsp im Hintergrund Apps installieren etc. &lt;br /&gt;
|- &lt;br /&gt;
| /system/media&lt;br /&gt;
| Hier liegen die System Klingeltöne der Bootscreen und weiteres. &lt;br /&gt;
|- &lt;br /&gt;
| /system/framework&lt;br /&gt;
| Hier liegen die .jar Dateien welchen bim Compilen durch dex2ota mit in die App eingebaut werden. (Hier liegt bsp. der App teil von Xposed oder den GSM services &lt;br /&gt;
|- &lt;br /&gt;
| /data/data&lt;br /&gt;
| Hier liegen die Heimverzeichnisse der einzelnen Apps des System Administrators (user 0).&lt;br /&gt;
|- &lt;br /&gt;
| /data/user/&lt;br /&gt;
| Hier liegen die Heimverzeichnisse der Apps für jeden Android Nutzer. So liegen unter &amp;lt;code&amp;gt;/data/user/10&amp;lt;/code&amp;gt; die &lt;br /&gt;
App Heimverzeichnisse der Apps von Nutzer 10. Das Heimverzeichnis des Systemadministrators &amp;lt;code&amp;gt;/data/user/0&amp;lt;/code&amp;gt;&lt;br /&gt;
ist ein Symlink auf &amp;lt;code&amp;gt;/data/data&amp;lt;/code&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| /data/app&lt;br /&gt;
| Hier liegen die Executables bsp. die .apk Dateien der vom Nutzer installierten Apps. &lt;br /&gt;
|- &lt;br /&gt;
| /data/app/&amp;lt;app_name-base64foo&amp;gt;/oat/&amp;lt;cpu_architektur&amp;gt;/&lt;br /&gt;
| Hier liegt die binere ELF Datei welche mit dex2ota aus der app erstellt wurde (base.odex) &lt;br /&gt;
|- &lt;br /&gt;
| /data/app/&amp;lt;app_name-base64foo&amp;gt;/lib/&amp;lt;cpu_architektur&amp;gt;/&lt;br /&gt;
| Hier liegt der native teil einer app, wenn diese nicht nur in Java sondern auch in C++ mit Hilfe der Android [https://developer.android.com/ndk NDK]&lt;br /&gt;
entwickelt wurde (häufig bei Games). Es handelt sich dabei um .so Dateien die via [http://openbook.rheinwerk-verlag.de/java7/1507_21_001.html JNI] aufgerufen werden.&lt;br /&gt;
Hier liegen beispielsweise bei [https://visualstudio.microsoft.com/de/xamarin/ Xamarin] die .net vm, oder Qt die eigentliche app.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Programme ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| [https://source.android.com/devices/tech/dalvik/configure /system/bin/dex2ota]&lt;br /&gt;
| Compiler welcher den android byte code in natieven byte code übersetzt &lt;br /&gt;
|- &lt;br /&gt;
| [https://elinux.org/Android_Dalvik_VM /system/bin/dalivkvm]&lt;br /&gt;
| Dalivk vm die den android byte code (.dex) direkt ausführen kann &lt;br /&gt;
|- &lt;br /&gt;
| /system/bin/pm      &lt;br /&gt;
| Android Packetmanager, zum de-/installieren von Apps und anlegen/löschen von android Nutzern &lt;br /&gt;
|- &lt;br /&gt;
| /system/bin/am      &lt;br /&gt;
| Android Manager, zum starten von apps, oder um Nachrichten (Intends) an diese zu senden &lt;br /&gt;
|- &lt;br /&gt;
| [https://elinux.org/Android_Zygote_Startup /system/bin/app_process]&lt;br /&gt;
| app_process started die Android Runtime und läd Zygote. Welches als erste task den [https://android.googlesource.com/platform/frameworks/base/+/7d276c3/services/java/com/android/server/SystemServer.java SystemServer]&lt;br /&gt;
läd, welcher sich wiederum darum kümmert den Rest der Android Apps zu starten.&lt;br /&gt;
|- &lt;br /&gt;
| /init               &lt;br /&gt;
| Android Init befehl&lt;br /&gt;
|-&lt;br /&gt;
| /system/bin/sm&lt;br /&gt;
| Disk managmenet.&lt;br /&gt;
|-&lt;br /&gt;
| /system/bin/svc&lt;br /&gt;
| Funk und USB managment.&lt;br /&gt;
|-&lt;br /&gt;
| /system/bin/bmgr&lt;br /&gt;
&amp;amp; /system/bin/bu&lt;br /&gt;
| Android backup manager&lt;br /&gt;
|-&lt;br /&gt;
| /system/bin/appops&lt;br /&gt;
| App Berechtigungen hinzufügen entziehen&lt;br /&gt;
|-&lt;br /&gt;
| /system/bin/logcat&lt;br /&gt;
| Zeigt systemlog an&lt;br /&gt;
|-&lt;br /&gt;
| /system/bin/cmd&lt;br /&gt;
| Schweizer Taschenmesser für Komandozeilen Benutzung.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Weiter Programme können [https://android.googlesource.com/platform/frameworks/base/+/ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3/cmds heier] gefunden werden.&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Commandos ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;am start-activity org.schabi.newpipe/.MainActivity&amp;lt;/code&amp;gt;&lt;br /&gt;
| Started NewPipe app.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pm install some_app.apk&amp;lt;/code&amp;gt;&lt;br /&gt;
| Installiert eine apk&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pm uninstall com.package.name&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deinstalliert ein packet&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pm create-user schabi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Erstellt neuen Nutzer mit dem Namen schabi&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pm remove-user 10&amp;lt;/code&amp;gt;&lt;br /&gt;
| Löscht Nutzer mit der id 10&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;svc wifi off&amp;lt;/code&amp;gt;&lt;br /&gt;
| Schaltet Wifi ab&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;kill main&amp;lt;/code&amp;gt;&lt;br /&gt;
| tötet den Approcess und sorgt dafür das die Android Runtime neu startet.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;logcat -C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Farblicher output vom Systemlog&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bootanimation&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bootanimation anzeigen :P&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cmd package compile -m everything org.schabi.newpipe&amp;lt;/code&amp;gt;&lt;br /&gt;
| Re compiliert die .odex Datei von NewPipe mit dem Compiler Filter everything&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cmd package list packages&amp;lt;/code&lt;br /&gt;
| Zeigt alle installierten Packete an.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cmd -l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Zeigt eine liste an Kommandos für verschiedene Interfaces an, auf die cmd befehle absetzen kann.&lt;br /&gt;
Leider können nicht alle diese Interfaces verwendet werden, da cmd bei den meisten anzeigt, das keine&lt;br /&gt;
Kommandozeilen Implementierung dafür existiert. Durch komplexes Kommandozeilen getue, und krasses gehacke habe ich&lt;br /&gt;
allerdings diese Liste an funktionierende Interfaces gefunden auf die cmd funktioniert:&lt;br /&gt;
 activity&lt;br /&gt;
 appops&lt;br /&gt;
 autofill&lt;br /&gt;
 battery&lt;br /&gt;
 deviceidle&lt;br /&gt;
 devicestoragemonitor&lt;br /&gt;
 gpu&lt;br /&gt;
 input&lt;br /&gt;
 jobscheduler&lt;br /&gt;
 netpolicy&lt;br /&gt;
 notification&lt;br /&gt;
 otadexopt&lt;br /&gt;
 overlay&lt;br /&gt;
 package&lt;br /&gt;
 power&lt;br /&gt;
 settings&lt;br /&gt;
 shortcut&lt;br /&gt;
 statusbar&lt;br /&gt;
 uimode&lt;br /&gt;
 user&lt;br /&gt;
 vibrator&lt;br /&gt;
 webviewupdate&lt;br /&gt;
 wifi&lt;br /&gt;
Tippt man &amp;lt;code&amp;gt;cmd &amp;lt;interfacename&amp;gt;&amp;lt;/code&amp;gt; eine Hilfe davon was man damit tun kann. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Konfig Dateien ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| /system/build.prop&lt;br /&gt;
| Datei in der die Build configuration des Systems steht.&lt;br /&gt;
Ändert man diese kann man z.b. die virtuelle Navigationsleiste ein und ausschalten.&lt;br /&gt;
|-&lt;br /&gt;
| /init.rc&lt;br /&gt;
| Die Init datei die vom /init prozess als erstes aufgerufen wird. Diese Datei&lt;br /&gt;
Interludien im Anschluss alle anderen Datei.&lt;br /&gt;
|-&lt;br /&gt;
| /etc/init&lt;br /&gt;
| Hier liegen die meisten anderen init scripte die von /init.rc inkludiert werden&lt;br /&gt;
|-&lt;br /&gt;
| /data/data/&amp;lt;app_name&amp;gt;/shared_prefs&lt;br /&gt;
| Hier liegen die xml Datein der app Einstellungen.&lt;br /&gt;
|-&lt;br /&gt;
| [https://source.android.com/devices/architecture/vintf/objects#framework-manifest-file /system/manifest.xml]&lt;br /&gt;
| Framework manifest definiert System interfaces bsp für DisplayService und anderes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Nüzliche apps ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| [https://f-droid.org Fdroid]&lt;br /&gt;
| Freies App repository für andorid. Funktioniert ähnlich wie typische packet repositories für Linux.&lt;br /&gt;
Enthält nur OpenSource/Freie Apps.&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: green&amp;quot;&amp;gt;Kein Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://f-droid.org/de/packages/com.termux/ Termux]&lt;br /&gt;
| Terminal app die ein eigenes apt repository mit bringt. Hiermit lassen sich&lt;br /&gt;
eine reihe nützlicher Linux Kommandos nachinstallieren&lt;br /&gt;
| &amp;lt;pre style=&amp;quot;color: green&amp;quot;&amp;gt;Kein Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://search.f-droid.org/?q=xmouse&amp;amp;lang=de xmouse]&lt;br /&gt;
| Kann den Scotty fernsteuern.&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: green&amp;quot;&amp;gt;Kein Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://search.f-droid.org/?q=blokada&amp;amp;lang=de Blokada]&lt;br /&gt;
| DNS basierter Werbung und Tracking filter. Erlaubt auch einen anderen DNS Server ein zu stellen.&lt;br /&gt;
Verwendet die VPN Funktion von Android.&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: green&amp;quot;&amp;gt;Kein Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://f-droid.org/de/packages/exa.lnx.ae AnLinux]&lt;br /&gt;
| Installiert ein Glibc basiertes Linux Environment (bsp. Ubuntu) innerhab des Termux Environments.&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: green&amp;quot;&amp;gt;Kein Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://play.google.com/store/apps/details?id=x.org.server XSDL]&lt;br /&gt;
| X11 Server für Android&lt;br /&gt;
| &amp;lt;pre style=&amp;quot;color: green&amp;quot;&amp;gt;Kein Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://virtualxposed.com/ Virtual Xposed]&lt;br /&gt;
| Started ein Virtuelles App environment in dem Apps installiert werden können (ja das ist eine app in der apps laufen).&lt;br /&gt;
Auf die in diesem environment laufenden apps kann nun Xposed angewendet werden, obwohl das phone nicht gerootet ist.&lt;br /&gt;
ACHTUNG!!! Die App ist nicht vollkommen frei, und enthält leider einige Tracker. Ich habe sie noch nicht Trackerfrei compiliert bekommen :/&lt;br /&gt;
| &amp;lt;pre style=&amp;quot;color: green&amp;quot;&amp;gt;Kein Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://f-droid.org/de/packages/ru.meefik.busybox/ busybox]&lt;br /&gt;
| Installiert Busybox und einige andere nützliche commandos in den /system/xbin ordner. Coole comandos sind unter&lt;br /&gt;
anderem strace oder ldd&lt;br /&gt;
| &amp;lt;pre style=&amp;quot;color: yellow&amp;quot;&amp;gt;Benötigt Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://f-droid.org/de/packages/dev.ukanth.ufirewall AFWall+]&lt;br /&gt;
| UI Frontend für IP tables. Damit lassen sich auf gerooteten Geräten Netzwerk Berechtigungen oder der Default DNS für das Mobielfunknetz&lt;br /&gt;
setzen.&lt;br /&gt;
| &amp;lt;pre style=&amp;quot;color: yellow&amp;quot;&amp;gt;Benötigt Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://f-droid.org/de/packages/org.adaway Adaway]&lt;br /&gt;
| Kann auf gerooteten geräten die Hosts Datei Überschreien. Damit lassen sich viele Tracker und viel Werbung blockieren.&lt;br /&gt;
| &amp;lt;pre style=&amp;quot;color: yellow&amp;quot;&amp;gt;Benötigt Root&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://magiskmanager.com/ Magisk]&lt;br /&gt;
| Root tool das unter anderem Su hiding betreiben kann. D.h. Es versteckt su so, das ausgewählte Apps glauben das kein&lt;br /&gt;
root auf dem System existiert. (Ist die bei meinem Vortrag semtliche .so und .jar Datein gemountet hat :P, aber keine Angst die app ist open source).&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt;Muss geflascht werden&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://f-droid.org/de/packages/de.robv.android.xposed.installer XPosed]&lt;br /&gt;
| Kann via Java Reflection das verhalten von Apps zur laufzeit ändern. Somit lassen sich mods für Apps oder dem System installieren.&lt;br /&gt;
Xposed Ist ein framework das sich unter anderem in den /system/framework Ordner installiert.&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt;Muss geflascht werden&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://f-droid.org/de/packages/org.schabi.stethox/ Stethox]&lt;br /&gt;
| Xposed Module welches ich geschrieben hab. Damit lässt sich reverse enginering auf allen installierten apps anwenden.&lt;br /&gt;
VORSICHT! bitte nicht auf dem alltags Gerät benutzen. Reist reisen Sicherheitslücke ins System.&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: yellow&amp;quot;&amp;gt;Setzt xposed voraus&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://microg.org/ microg]&lt;br /&gt;
| Freie alternative zu den Google play services. Setzt entweder Xposed voraus, kann aber auch mit Tingle installiert werden. Wenn das&lt;br /&gt;
Gerät allerdings Lineage unterstützt empfehle ich die [https://lineage.microg.org/ Preperierte Lineage] Version des Projekts dabei handelt&lt;br /&gt;
es sich um ganz normales Lineage welches von den Servern der Microg Leute noch mal modifiziert wurde.&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: yellow&amp;quot;&amp;gt;Setzt xposed voraus&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [https://anbox.io/ Anbox]&lt;br /&gt;
| Macht ein Ubuntu basiertes System Android kompartiebel, so das sich die meisten Android Apps darauf ausführen lassen (NewPipe nicht der scheiß).&lt;br /&gt;
|&amp;lt;pre style=&amp;quot;color: green&amp;quot;&amp;gt;Leuft eh nicht auf dem Smarthphone&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Schabi</name></author>
	</entry>
</feed>