咱們在進行Android組件安全測試時,若是遇到聲明瞭權限的組件,在編寫PoC時,可能會遇到以下錯誤提示:android
INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.myapp.permission.C2D_MESSAGE pkg=com.myapp
假設申明權限的manifest文件以下:安全
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/> <uses-permission android:name="com.yourpackage.name.permission.C2D_MESSAGE"/> <permission android:name="com.yourpackage.name.permission.C2D_MESSAGE" android:protectionLevel="normal"/> <permission android:name="com.yourpackage.name.permission.MAPS_RECEIVE" android:protectionLevel="normal"/>
咱們須要把它修改成:app
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/> <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE"/> <permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="normal"/> <permission android:name="${applicationId}.permission.MAPS_RECEIVE" android:protectionLevel="normal"/>
而後在build.gradle文件中設置applicationId:ide
android { compileSdkVersion 28 defaultConfig { applicationId "com.attack.provider" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }