ProbeDroid ist ein dynamisches Java-Code-Instrumentierungskit für Android-Anwendungen , das APIs bereitstellt, mit denen Benutzer ihre eigenen Instrumentierungstools erstellen können. Dadurch können Benutzer das Laufzeitverhalten einer interessierten Anwendung verfolgen, profilieren oder ändern. Im Wesentlichen ist die Java-Methode die grundlegende Instrumentierungseinheit . Um die gewünschten Methoden zu manipulieren, sollten Benutzer die Vorlageninstrumentierungs-Gadgets überschreiben und sie registrieren, um die gewünschten Methoden einzubinden. Wenn die Hook-Methoden während der Laufzeit aufgerufen werden, wird der Kontrollfluss auf die Gadgets umgeleitet. In diesem Moment können Benutzer die Eingabeargumente der Box-Methode und den Rückgabewert manipulieren. In der aktuellen Phase zielt ProbeDroid auf Android 5.0 und höher ab. Um das ProbeDroid-Kit zu erstellen, rufen Benutzer einfach das Paket von GitHub ab und folgen den Build-Befehlen. Der Android-Quellbaum ist nicht erforderlich.
Weitere Informationen finden Sie im Source Building Wiki
Weitere Informationen finden Sie im Play and Hack Wiki
Klicken Sie auf das Bild, um das Demo-Video anzusehen
Ein einfaches Instrumentierungstool, das die vom StringBuilder- und StringBuffer-Objekt konvertierten Strings verfolgt . Wenn wir einige forensische Untersuchungen der konvertierten Zeichenfolgen durchführen, können wir feststellen, dass GoogleMaps Java-Reflektion für einige Netzwerkauthentifizierungen anwendet. Außerdem wird C/C++-Code dynamisch generiert und für die Kartendarstellung kompiliert. |
Klicken Sie auf das Bild, um das Demo-Video anzusehen
Ein einfaches Instrumentierungstool, das die gestarteten Aktivitäten und Dienste verfolgt . Durch einige forensische Untersuchungen der verfolgten Komponenten können wir feststellen, dass KKTix verschiedene Arten von Aktivitäten anwendet, um die Ticketbuchungsseiten darzustellen. Außerdem wird ein Dienst zur Hintergrundberechnung gestartet. |
Mit Ausnahme des folgenden Quellcodes:
android/art/runtime/
, common/log.*
, common/stringprintf.*
, common/utf.*
und common/macros.h
gehören zu [AOSP], die unter Apache v2.0 lizenziert sind.common/libffi/
subtree gehört zu [libffi], das unter MIT lizenziert ist.Der gesamte Quellcode ist unter MIT lizenziert. Einzelheiten finden Sie unter KOPIEREN .
Bitte kontaktieren Sie mich per E-Mail [email protected] .
Beachten Sie, dass sich der Bausatz noch im Aufbau befindet. Beitrag und Fehlerbericht sind erwünscht.