惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
N
Netflix TechBlog - Medium
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog
IT之家
IT之家
博客园 - Franky
雷峰网
雷峰网
博客园 - 聂微东
腾讯CDC
M
MIT News - Artificial intelligence
B
Blog RSS Feed
博客园_首页
罗磊的独立博客
S
SegmentFault 最新的问题
I
InfoQ
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
D
Docker
宝玉的分享
宝玉的分享
B
Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - bamb00

一个项目带你入门AI应用开发08 一个项目带你入门AI应用开发08 一个项目带你入门AI应用开发课程介绍 一个项目带你入门AI应用开发07 一个项目带你入门AI应用开发06 一个项目带你入门AI应用开发05 一个项目带你入门AI应用开发05 一个项目带你入门AI应用开发04 一个项目带你入门AI应用开发03 一个项目带你 入门AI应用开发02 一个项目带你入门AI应用开发01 3・15 曝光 AI 安全暗礁:企业如何筑牢投毒与幻觉防护墙 CodeQL学习——导航调用图 CodeQL学习——java程序抽象语法树 linux进程隐藏手段及对抗方法 OAuth2.0安全设计之Authorization Code CodeQL学习——CodeQl数据流分析 CodeQL学习——CodeQL java库 CodeQL学习——自定义查询 CodeQL学习——CodeQL CLI入门 用户中心 - 博客园 浏览器解析js intent 参数的规范 Fiddler如何自动修改请求和响应包 Burp Suite学习之Intruder的4种攻击模式 对Android系统权限的认识 Android hook神器frida(二) 移动广告作弊技术研究 Android如果有一个任意写入的漏洞,如何将写权限转成执行权限 Android so注入(inject)和Hook技术学习(三)——Got表hook之导出表hook
"INSTALL_FAILED_DUPLICATE_PERMISSION "错误解决
bamb00 · 2018-12-07 · via 博客园 - bamb00

我们在进行Android组件安全测试时,如果遇到声明了权限的组件,在编写PoC时,可能会遇到如下错误提示:

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"/>

我们需要把它修改为:

<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

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'
        }
    }
}