咱们在进行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' } } }