MiuiDaemon ist eine Schnüffel-App!

  • 190 Antworten
  • Letztes Antwortdatum
Was übermittelt wird kann hier auch nachgelesen werden.
Xiaomi wegen Schnüffel-App am Pranger

Also wie schon gesagt eine einfache Telemetrie App, gleiches macht auch Windows 10, iOS und auch andere Android Hersteller.
 
  • Danke
Reaktionen: LundM
Danke

Hab ich mir gedacht weil es ist so Wenig das es echt nur reine fakten zahlen sein können.
 
Ja eben und die Clickbait Headlines zu dem damaligen Thema machen es auch nicht besser, wer sich an der App dennoch stört kann sich immer noch die Xiaomi.eu installieren, scheint dort nicht vorhanden zu sein.
 
EC36D4D0-D17C-4D46-B5FD-E5F0DFBC92B5.jpeg Bei meinem Mix 2s ist die MiuiDaemon drauf, ist schon ganz schön groß, hab die eu.rom 8.12.20 drauf.
 
Wo ist die versteckt in Einstellungen? Irgendwie ist die seit der MIUI 10.x versteckt wurden.
 
Einstellungen > installierte Apps > Suche nach 'MIUI' oder 'Daemon'. ;)-old
 

Anhänge

  • Screenshot_2018-12-29-13-52-26-706_com.miui.securitycenter.png
    Screenshot_2018-12-29-13-52-26-706_com.miui.securitycenter.png
    62,4 KB · Aufrufe: 196
  • Danke
Reaktionen: Stoik
Das ist bei mir nicht mehr so vorhanden. Habe unter Einstellungen nur noch Systemappeinstellungen und Apps verwalten.
Aber mein Fehler allerdings gefunden, musste noch alle Apps anzeigen aktivieren.
 
  • Danke
Reaktionen: JustDroidIt
Also allen die sich beobachtet fühlen kann ich nur empfehlen über folgendes nicht nachzudenken:
Eine Pico Google Apps Installation (nur Play Services und Play Store, keine Google Apps), welche nur ein paar APIs für GPS etc. installiert ist über 100MB Binärblob, wo keiner weiss was drin ist.
Die Naivität mit der oft gesagt wird „ja, bei Google kann ich ka nen Schalter umlegen da steht ‚nix senden‘“, finde ich lustig. 100MB Binärcode is VIEL Code, eher so Richtung 100 Programmierer für 5 Jahre am werkeln. Und man glaubt dann dem winen GUI Schalter.
Um die Paranoia zu komplettieren, googlet gerne mal nach“google energiesparmodus aktiviert“. Da hat Google mal ausversehen bei allen möglichen Leuten den Energiesparmodus aktiviert (also bei normalen Handybesitzern über die Welt verteilt, gesteuert aus der Google Zentrale).
Soviel zu was Google da so alles kann.
 
  • Danke
Reaktionen: kropi, LundM, JustDroidIt und 2 andere
elandroidhilfo schrieb:
100MB Binärcode is VIEL Code, eher so Richtung 100 Programmierer für 5 Jahre am werkeln.

Nicht ganz richtig, das ist nicht nur Quellcode, da sind auch Grafiken für Icons in unterschiedlicher Auflösung als PNG vorhanden usw. Das keiner weiss was drin ist, stimmt auch nicht ganz. Die apk Dateien kann man ja dekompilieren und schauen was an Code vorhanden ist. Machen die von Androidpolice ja auch gerne.

elandroidhilfo schrieb:
Die Naivität mit der oft gesagt wird „ja, bei Google kann ich ka nen Schalter umlegen da steht ‚nix senden‘“,

Ist richtig, selbst wenn man es deaktiviert wird es irgendwann unterschwellig durch eine App wieder aktiviert.
 
@elandroidhilfo
Verdammt.... jetzt hab ich DOCH drüber nachgedacht.....
War nur Spaß.
Die Google-Sache kommt ja neben dem daemon noch on top, da die Mehrzahl der MIUI-User wohl beide Probleme am Hals hat.
 
Amazon, Whatsapp & Facebook fehlt bei dein einen oder anderen auch noch. :D
 
  • Danke
Reaktionen: Scodera und elandroidhilfo
Stoik schrieb:
elandroidhilfo schrieb:
100MB Binärcode is VIEL Code, eher so Richtung 100 Programmierer für 5 Jahre am werkeln.

Nicht ganz richtig, das ist nicht nur Quellcode, da sind auch Grafiken für Icons in unterschiedlicher Auflösung als PNG vorhanden usw. Das keiner weiss was drin ist, stimmt auch nicht ganz. Die apk Dateien kann man ja dekompilieren und schauen was an Code vorhanden ist. Machen die von Androidpolice ja auch gerne.

Naja, wieviel Grafiken brauchen denn die Play Services?

Aber vor allem, die Play Services sind doch nicht nur apks, da muss doch auch alles mögliche binär ins /system, /etc, und und und damit das Proxy apk (android.gms) auch tut. Oder täusche ich mich?
Klar kann man auch C binaries irgendwie zu einem gewissen Grad dekompilieren, aber gerade wenn der Erstelles hier „obfuscaten“ will, wird man da nicht mehr schlau ohne sourcen.
Ich gebe dir Recht, bei einigen Teilen kann man sicher ne Idee gewinnen um was es geht, aber bei einigen wohl auch nicht.

Umd selbst 5 MB unklarer Code sind (blöder Vergleich) mal so 10.000 DIN A4 Seiten Code.

Das man es nicht durchschaut hat man ja beim Energiesparthema gesehen, also ich hatte nicht mitbekommen, dass Google Androiden fernsteuern kann ohne Zustimmung des Users.

Oder was denkst Du?
 
Zur Play Service apk, kann man derweil nur im eigenen Interesse spekulieren, da müsste man die erstmal auseinander nehmen. Habe mich da auch nur an paar apk Dateien orientiert welche ich einmal dekompiliert hab.

Das Google die Androiden fernsteuert glaube ich nicht, denke ehr das die Apps durchaus Rechte haben um Prozesse zum starten zu zwingen. Beispiel, Standort/GPS/WLAN ist komplett deaktiviert. Bekomme aber trotzdem eine Location-Guide Push-Nachricht von einem Ort/Geschäft um eine Bewertung abzugeben.
 
Da wird die Play Services ein Update/Patch geladen haben und der Test mit enthalten war, die kann sich ja wie der Playstore eigenständig aktualisieren ohne das der User im ersten Moment was merkt.
 
Das is aber nu schon bissl spitzfindig, oder. :1f61b:
Ob sie jetzt mein Handy direkt fernsteuern, oder mir automatisch ein Update draufschieben welches dann die Sache ausführt, is doch egal, oder? Klingt für mich nur nach einer komplexen Variante der Fernsteuerung.
 
Guten Morgen,

bitte nun wieder zurück zum Thema MIUI Deamon bevor hier noch das ganze Android-App-Repertoire abgearbeitet wird. ;)
 
  • Danke
Reaktionen: OnkelLon, balu_baer, MSDroid und eine weitere Person
Wird gemacht. Habe die miuidaemon.apk einmal decompiliert. Hier schon mal ein kleiner Einblick.

Struktur:
miuidaemon.jpg

AndroidManifest.xml
Code:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:sharedUserId="android.uid.system" package="com.miui.daemon" platformBuildVersionCode="27" platformBuildVersionName="8.1.0">
    <uses-permission android:name="android.permission.DUMP"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.miui.permission.SHELL"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <permission android:name="com.miui.daemon.performance.QUERY_PROVIDER" android:protectionLevel="signature"/>
    <permission android:name="com.miui.daemon.performance.COMMAND_EXECUTOR" android:protectionLevel="signature"/>
    <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:name=".BaseDaemonApplication" android:persistent="true">
        <service android:enabled="true" android:exported="false" android:name=".performance.MiuiPerfService"/>
        <service android:exported="true" android:name=".performance.statistics.services.GraphicDumpService" android:permission="android.permission.BIND_JOB_SERVICE"/>
        <service android:name=".performance.statistics.services.AtraceDumpService"/>
        <service android:enabled="true" android:exported="true" android:name=".performance.SysoptService" android:permission="android.permission.BIND_JOB_SERVICE"/>
        <service android:exported="true" android:name=".performance.cloudcontrol.CloudControlSyncService" android:permission="android.permission.BIND_JOB_SERVICE"/>
        <service android:exported="true" android:name=".performance.server.ExecutorService" android:permission="com.miui.daemon.performance.COMMAND_EXECUTOR"/>
        <service android:name="com.miui.daemon.mqsas.jobs.EventUploadService" android:permission="android.permission.BIND_JOB_SERVICE"/>
        <service android:name="com.miui.daemon.mqsas.jobs.FileUploadService" android:permission="android.permission.BIND_JOB_SERVICE"/>
        <provider android:authorities="com.miui.daemon.mqsas" android:multiprocess="false" android:name="com.miui.daemon.mqsas.providers.MQSProvider"/>
        <provider android:authorities="com.miui.daemon.performance.provider" android:exported="true" android:multiprocess="false" android:name=".performance.provider.PerfTurboProvider" android:permission="com.miui.daemon.performance.QUERY_PROVIDER"/>
        <service android:name=".performance.system.am.SysoptjobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
        <service android:name=".performance.statistics.services.FreeFragDumpService" android:permission="android.permission.BIND_JOB_SERVICE"/>
    </application>
</manifest>

// Rechte des MIUI Daemon (Quelle: developer.android.com)

android.permission.DUMP
"Ermöglicht einer Anwendung, Statusauszugsinformationen von Systemdiensten abzurufen. Nicht für Anwendungen von Drittanbietern."

android.permission.INTERNET
"Ermöglicht Anwendungen das Öffnen von Netzwerksteckdosen."

android.permission.ACCESS_NETWORK_STATE
"Ermöglicht Anwendungen den Zugriff auf Informationen zu Netzwerken."

android.permission.READ_EXTERNAL_STORAGE
"Ermöglicht einer App, von einem externen Speicher zu lesen. Jede App, die die WRITE_EXTERNAL_STORAGE Berechtigung erklärt, erhält diese Berechtigung implizit.
Diese Berechtigung wird ab API-Ebene 19 erzwungen. Vor API-Ebene 19 wird diese Berechtigung nicht erzwungen, und alle Apps können weiterhin auf externen Speicher lesen. Sie können Ihre App mit erzwungener Berechtigung testen, indem Sie Protect USB-Speicher unter Entwickleroptionen in der App Einstellungen auf einem Gerät aktivieren, auf dem Android 4.1 oder höher ausgeführt wird."

android.permission.WRITE_EXTERNAL_STORAGE
"Ermöglicht einer Anwendung, in einen externen Speicher zu schreiben"

android.permission.READ_PHONE_STATE
"Ermöglicht den Nur-Lesezugriff auf den Telefonstatus, einschließlich der Telefonnummer des Geräts, der aktuellen Informationen zum Mobilfunknetz, des Status aller laufenden Anrufe und einer Liste aller PhoneAccountauf dem Gerät registrierten Anrufe."

android.permission.RECEIVE_BOOT_COMPLETED
"Ermöglicht einer Anwendung, den Intent.ACTION_BOOT_COMPLETED Broadcast zu empfangen, nachdem das Booten des Systems abgeschlossen ist. Die Berechtigung hat zwar keine Auswirkungen auf die Sicherheit, kann sich jedoch negativ auf die Benutzererfahrung auswirken, da die Zeit, die das System zum Starten benötigt, erhöht wird und Anwendungen sich selbst ausführen lassen, ohne dass der Benutzer sie kennt. Daher müssen Sie explizit erklären, dass Sie diese Funktion verwenden, um dies für den Benutzer sichtbar zu machen."

// MIUI API

android.miui.permission.SHELL
com.miui.daemon.performance.QUERY_PROVIDER
com.miui.daemon.performance.COMMAND_EXECUTOR
"Info folgt..."

// Automatische Task die im Hintergrund laufen

<service android:exported="true" android:name=".performance.statistics.services.GraphicDumpService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:name=".performance.statistics.services.AtraceDumpService"/>

"Sendet Statistik über die Geräteperformance, möglich das hier die Log aus der Sicherheitsapp zur Leistung übermittelt wird (Vermutung)"

<service android:enabled="true" android:exported="true" android:name=".performance.SysoptService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:exported="true" android:name=".performance.cloudcontrol.CloudControlSyncService" android:permission="android.permission.BIND_JOB_SERVICE"/>

"Task für MiCloud -> Sync, Find my Device etc. (MIUI-CN Forum sagt: Cloud Control-Synchronisierungsdienst) (Vermutung)"

<service android:exported="true" android:name=".performance.server.ExecutorService" android:permission="com.miui.daemon.performance.COMMAND_EXECUTOR"/>
"Info folgt..."

<service android:name="com.miui.daemon.mqsas.jobs.EventUploadService" android:permission="android.permission.BIND_JOB_SERVICE"/>
"Ereignisuploaddienst, Loggt und sendet Infos über ForceClose, Reboot, Crash. (Vermutung)"

<service android:name="com.miui.daemon.mqsas.jobs.FileUploadService" android:permission="android.permission.BIND_JOB_SERVICE"/>
"Task zur Upload Syncronisation in die MiCloud (MIUI-CN Forum sagt: Dateiübertragungsdienst)(Vermutung)"

<provider android:authorities="com.miui.daemon.mqsas" android:multiprocess="false" android:name="com.miui.daemon.mqsas.providers.MQSProvider"/>
<provider android:authorities="com.miui.daemon.performance.provider" android:exported="true" android:multiprocess="false" android:name=".performance.provider.PerfTurboProvider" android:permission="com.miui.daemon.performance.QUERY_PROVIDER"/>
<service android:name=".performance.system.am.SysoptjobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:name=".performance.statistics.services.FreeFragDumpService" android:permission="android.permission.BIND_JOB_SERVICE"/>

"Folgt..."

PerfTurbo.default.json
Code:
{
  "comment": "When configs are modified, please update version",
  "version" : 26,
  "configs" : [
    {
      "filter" : {
        "device" : "land"
      },
      "config" : {
        "UiFifo" : true,
        "PinAppFile" : true
      }
    },
    {
      "config" : {
        "DelayService" : {
           "enable" : true
        },
        "UsageStateFun" : true
      }
    },
    {
      "config" : {
        "StrategyProcessLimit": {
            "limitOpen": false
        }
      }
    },
    {
      "filter" : {
        "device" : "mido"
      },
      "config" : {
        "MIUIBGBinder" : true
      }
    },
    {
      "config" : {
        "PinFile" : true
      }
    },
    {
      "config" : {
        "TaskIsolation" : true
      }
    },
    {
      "config" : {
        "OptimizeAccessibility" : true
      }
    },
    {
      "config" : {
        "MiuiIOPrefetcher" : false
      }
    },
    {
      "config" : {
        "MiuiWechat" : "miui_booster"
      }
    },
    {
      "filter" : {
        "device" : "dipper,whyred,perseus,jason,lotus,cepheus"
      },
      "config" : {
        "MiuiWechatEnableBoostControl" : "1"
      }
    },
    {
      "config" : {
        "MiuiTaobao" : "miui_booster"
      }
    },
    {
      "config" : {
        "MiuiTouchResponseOpt" : true
      }
    },
    {
      "filter" : {
        "device" : "mido,cepheus",
        "releasetype" : "dev"
      },
      "config" : {
        "MiuiStorageCompactControl" : 1
      }
    }
  ]
}

pom.xml
Code:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson-parent</artifactId>
    <version>2.8.5</version>
  </parent>

  <artifactId>gson</artifactId>
  <name>Gson</name>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
 
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <includePackageNames>com.google.gson</includePackageNames>
          <excludePackageNames>com.google.gson.internal:com.google.gson.internal.bind</excludePackageNames>
          <links>
            <link>http://docs.oracle.com/javase/6/docs/api/</link>
          </links>
        </configuration>
      </plugin>
      <plugin>
        <groupId>biz.aQute.bnd</groupId>
        <artifactId>bnd-maven-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <goals>
              <goal>bnd-process</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>templating-maven-plugin</artifactId>
        <version>1.0.0</version>
        <executions>
          <execution>
            <id>filtering-java-templates</id>
            <goals>
              <goal>filter-sources</goal>
            </goals>
            <configuration>
              <sourceDirectory>${basedir}/src/main/java-templates</sourceDirectory>
              <outputDirectory>${project.build.directory}/generated-sources/java-templates</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Die restlichen Dateien sind inhaltlich ehr uninteressant.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Fulano, Jimmy78 und Cua
Kannst du das "übersetzen". :lol:
So für einen Laien, wie mich. :)
 
  • Danke
Reaktionen: Fulano, Holger und MSDroid
Jap, muss aber noch ein paar Punkte nachhaken zum eigenen Verständnis.
 
  • Danke
Reaktionen: Fulano und Cua

Ähnliche Themen

Captain-Smoker
  • Captain-Smoker
Antworten
10
Aufrufe
346
chika
C
MSSaar
Antworten
8
Aufrufe
429
MSSaar
MSSaar
C
Antworten
1
Aufrufe
274
mblaster4711
mblaster4711
Zurück
Oben Unten