├── Hook ├── .gitignore ├── consumer-rules.pro ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── acap │ │ └── hook │ │ ├── OnAfterHookedMethod.java │ │ ├── OnBeforeHookedMethod.java │ │ ├── compat │ │ └── HandlerCompat.java │ │ ├── interior │ │ ├── HookLogs.java │ │ ├── ClientTransactionHelper.java │ │ └── Utils.java │ │ ├── runtime │ │ └── LifecycleStateRequest.java │ │ ├── HookModel.java │ │ └── bean │ │ └── ActivityThread.java ├── proguard-rules.pro └── build.gradle ├── app ├── .gitignore ├── android.jks ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ ├── strings.xml │ │ │ ├── themes.xml │ │ │ └── colors.xml │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ └── layout │ │ │ ├── activity_2.xml │ │ │ ├── activity_compliance.xml │ │ │ └── activity_1.xml │ │ ├── java │ │ └── com │ │ │ └── acap │ │ │ └── demo │ │ │ ├── utils │ │ │ ├── LocationUtils.java │ │ │ ├── PackageList.java │ │ │ ├── AndroidId.java │ │ │ └── GetMac.java │ │ │ ├── base │ │ │ └── App.java │ │ │ ├── Activity2.java │ │ │ ├── Activity1.java │ │ │ └── ComplianceActivity.java │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── .idea ├── .name ├── .gitignore ├── compiler.xml ├── misc.xml ├── jarRepositories.xml ├── inspectionProfiles │ └── Project_Default.xml └── dbnavigator.xml ├── Runtime ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── android │ ├── os │ └── Parcelable.java │ └── app │ └── servertransaction │ ├── BaseClientRequest.java │ ├── ActivityTransactionItem.java │ ├── ActivityLifecycleItem.java │ └── ClientTransactionItem.java ├── Monitor_WFMA ├── .gitignore ├── consumer-rules.pro ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ ├── stack │ │ └── ActivityFinishStack.java │ │ └── com │ │ └── acap │ │ └── wfma │ │ ├── structure │ │ └── LimitList.java │ │ ├── record │ │ ├── BaseRecord.java │ │ ├── FinishCallRecord.java │ │ ├── UnknownRecord.java │ │ ├── MessageDispatchRecord.java │ │ └── MessageDestroyRecord.java │ │ ├── interior │ │ └── Logs.java │ │ └── WFMA.java ├── proguard-rules.pro └── build.gradle ├── Monitor_Privacy_Compliance ├── .gitignore ├── consumer-rules.pro ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ ├── stack │ │ └── PrivacyComplianceStack.java │ │ └── com │ │ └── acap │ │ └── compliance │ │ ├── interior │ │ └── Logs.java │ │ └── Compliance.java ├── proguard-rules.pro └── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── settings.gradle ├── README.md ├── gradle.properties ├── .gitignore ├── gradlew.bat ├── ActivityThread$H.md ├── gradlew └── LICENSE /Hook/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Hook/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | AndoridMonitor -------------------------------------------------------------------------------- /Runtime/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Monitor_WFMA/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Monitor_WFMA/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Monitor_Privacy_Compliance/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Monitor_Privacy_Compliance/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /app/android.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ftmtshuashua/AndroidMonitor/HEAD/app/android.jks -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Monitor 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ftmtshuashua/AndroidMonitor/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ftmtshuashua/AndroidMonitor/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Runtime/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java-library' 3 | } 4 | 5 | java { 6 | sourceCompatibility = JavaVersion.VERSION_1_7 7 | targetCompatibility = JavaVersion.VERSION_1_7 8 | } -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "AndoridMonitor" 2 | include ':app' 3 | //include ':Runtime' 4 | include ':Monitor_WFMA' 5 | include ':Monitor_Privacy_Compliance' 6 | include ':Hook' 7 | -------------------------------------------------------------------------------- /Hook/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /Monitor_WFMA/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /Monitor_Privacy_Compliance/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /Runtime/src/main/java/android/os/Parcelable.java: -------------------------------------------------------------------------------- 1 | package android.os; 2 | 3 | /** 4 | *
 5 |  * Tip:
 6 |  *
 7 |  *
 8 |  * Created by A·Cap on 2021/10/13 18:44
 9 |  * 
10 | */ 11 | public interface Parcelable { 12 | } 13 | -------------------------------------------------------------------------------- /Runtime/src/main/java/android/app/servertransaction/BaseClientRequest.java: -------------------------------------------------------------------------------- 1 | package android.app.servertransaction; 2 | 3 | /** 4 | *
 5 |  * Tip:
 6 |  *
 7 |  *
 8 |  * Created by A·Cap on 2021/10/13 18:45
 9 |  * 
10 | */ 11 | interface BaseClientRequest { 12 | } 13 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Oct 13 14:22:34 CST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /Runtime/src/main/java/android/app/servertransaction/ActivityTransactionItem.java: -------------------------------------------------------------------------------- 1 | package android.app.servertransaction; 2 | 3 | /** 4 | *
 5 |  * Tip:
 6 |  *
 7 |  *
 8 |  * Created by A·Cap on 2021/10/13 18:43
 9 |  * 
10 | */ 11 | public abstract class ActivityTransactionItem extends ClientTransactionItem { 12 | } 13 | -------------------------------------------------------------------------------- /Runtime/src/main/java/android/app/servertransaction/ActivityLifecycleItem.java: -------------------------------------------------------------------------------- 1 | package android.app.servertransaction; 2 | 3 | /** 4 | *
 5 |  * Tip:
 6 |  *
 7 |  *
 8 |  * Created by A·Cap on 2021/10/13 18:42
 9 |  * 
10 | */ 11 | public abstract class ActivityLifecycleItem extends ActivityTransactionItem{ 12 | 13 | } 14 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Runtime/src/main/java/android/app/servertransaction/ClientTransactionItem.java: -------------------------------------------------------------------------------- 1 | package android.app.servertransaction; 2 | 3 | import android.os.Parcelable; 4 | /** 5 | *
 6 |  * Tip:
 7 |  *
 8 |  *
 9 |  * Created by A·Cap on 2021/10/13 18:43
10 |  * 
11 | */ 12 | public abstract class ClientTransactionItem implements BaseClientRequest, Parcelable{ 13 | } 14 | -------------------------------------------------------------------------------- /Monitor_WFMA/src/main/java/stack/ActivityFinishStack.java: -------------------------------------------------------------------------------- 1 | package stack; 2 | 3 | /** 4 | *
 5 |  * Tip:
 6 |  *
 7 |  *
 8 |  * Created by A·Cap on 2021/11/12 17:50
 9 |  * 
10 | * @author A·Cap 11 | */ 12 | public class ActivityFinishStack extends RuntimeException { 13 | public ActivityFinishStack(String message) { 14 | super(message); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Monitor_Privacy_Compliance/src/main/java/stack/PrivacyComplianceStack.java: -------------------------------------------------------------------------------- 1 | package stack; 2 | 3 | /** 4 | *
 5 |  * Tip:
 6 |  *
 7 |  *
 8 |  * Created by ACap on 2021/11/13 14:32
 9 |  * 
10 | * 11 | * @author A·Cap 12 | */ 13 | public class PrivacyComplianceStack extends RuntimeException { 14 | public PrivacyComplianceStack(String message) { 15 | super(message); 16 | } 17 | } -------------------------------------------------------------------------------- /Hook/src/main/java/com/acap/hook/OnAfterHookedMethod.java: -------------------------------------------------------------------------------- 1 | package com.acap.hook; 2 | 3 | import de.robv.android.xposed.XC_MethodHook; 4 | 5 | /** 6 | *
 7 |  * Tip:
 8 |  *  
 9 |  *
10 |  * Created by A·Cap on 2021/10/13 10:26
11 |  * 
12 | */ 13 | @FunctionalInterface 14 | public interface OnAfterHookedMethod { 15 | void call(XC_MethodHook.MethodHookParam param) throws Throwable; 16 | } 17 | -------------------------------------------------------------------------------- /Hook/src/main/java/com/acap/hook/OnBeforeHookedMethod.java: -------------------------------------------------------------------------------- 1 | package com.acap.hook; 2 | 3 | import de.robv.android.xposed.XC_MethodHook; 4 | 5 | /** 6 | *
 7 |  * Tip:
 8 |  *
 9 |  *
10 |  * Created by A·Cap on 2021/10/13 10:26
11 |  * 
12 | */ 13 | @FunctionalInterface 14 | public interface OnBeforeHookedMethod { 15 | void call(XC_MethodHook.MethodHookParam param) throws Throwable; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 |