从技术角度看待某物APP私删用户视频事件
前言:
近来某物APP私删用户视频的事件闹得沸沸扬扬的,大体就是有个网友通过系统服务的提示,发现某物APP删除用户相册中的数据,从而认为偷删用户数据从而进行了曝光。
本文对事件本身和立场不做过多的阐述,我们只是从技术的角度来讨论下,对于APP来说,这种事到底是否真的可实现。
下面是用户的曝光:
以及得物的官方反馈:
一.安卓系统磁盘空间介绍
首先我们介绍一下安卓系统中,磁盘空间的分布。
安卓底层的目录结构如下,
这么多目录,我们就不一一介绍了,重点介绍三个:
system目录:系统侧的空间,系统级APP,系统级皮肤包,FW层代码等等都在这个目录下。
sdcard/storage目录:sdcard属于一个快捷地址,它指向的真实地址是storage/emulated/0。如果有外置SD卡的话,应该就会有storage/emulated/1的目录。0这个目录,对应的就是我们经常用的,文件管理中可以看到的目录。
data目录:对APP的私有目录,我们平常安装的非系统级的APP,以及所有应用的私有数据,都保存在这个目录下。
data/app目录下,对应很多包名,其实这些就是我们手机上安装的非系统应用。我们看到base.apk文件,这个其实就是安装完成的APK。APK的安装的本质就是就是把APK这个压缩文件解压到一个指定目录而已。
data/data目录下我们可以看到,是区分包名的,每个包名只允许其对应的应用才可以访问,除了自身之外,就算是系统级的APP都不能访问,所以,我们可以把这块空间看做用户的私有空间,是独有的。
二.APP占用空间介绍
对于APP来说,一般会有三块空间,应用的数据一定会存储在这三块空间中。
1.私有空间,对应路径data/data/包名
上面有介绍,这块空间是每个APP私有的,其它APP是完全无法访问的。只有由APP自身对外提供。这块空间类似于APP的家,别人是不允许进来的。
举个例子,微信的聊天记录,就是存储在这块空间中。
2.独有空间但外部访问,对应路径sdcard/Android/data/包名
这块空间属于APP独有的,应用卸载后,这块空间也会被随之删除。但是这块空间并不私有,其它APP是可以访问并且修改的。这块空间类似于APP家门口的菜园子,理论上这块空间属于我,但是别人可以不经过允许就能进。
也举个例子,微信聊天记录中的图片,文件什么的,都存储在这块空间中。所以我们可以在相册中看到微信聊天中发出的图片。
3.公共空间,对应路径:sdcard/下非ANDROID开头的目录
这块空间属于所有APP共有的,所有的应用在申请权限后,可以对这块区域进行读写操作。我们使用相机拍的照片,视频,截屏,手机录音等等,都是在这块空间中。
当然,每个手机的具体目录位置有可能不一样,拿小米手机举例,手机截屏的目录就是:
sdcard/DCIM/Screenshots
三.某物事件技术讨论
好了,介绍完安卓的磁盘系统分布以及APP可使用空间后,我们回头来从技术的聊一下某物事件。
问题一,APP是否有权限删除用户视频?
这个自然是可以的。
我们上面有讲到,用户的视频,照片等文件,都保存在公共空间下,所以理论上,只要申请了对应权限,任何APP都可以对这块空间进行删改操作。具体要看系统
6.0之前不需要申请任何权限即可修改,
6.0到9.0需要申请WRITE_EXTERNAL_STORAGE权限
10.0需要在manifest中声明requestLegacyExternalStorage
11.0开始需要申请外置SD卡管理权限MANAGE_EXTERNAL_STORAGE
所以,无论你是安卓的哪个版本,只要申请了权限,就可以对外置SD进行删改操作。
问题二,能否定向的删除用户视频?
这个理论上也是可以做得到的,当然,我们这里只是谈能否实现,我相信某物时不会这么去做的,因为开发成本其实很高,但是收益却很低,毕竟现在很多手机都有云端存储图片视频的功能,只是删除了本地的图片视频没有任何意义。
谷歌有一个侧端机器学习框架Media Pipe,导入训练好的模型之后,可以动态的去分析图片,得出想要的结果。具体可以参看我的另外一篇文章::2022年谷歌开发者大会讲解
所以,在手机端动态的进行分析,删除目标视频或者图片,理论上是可以实现的。
问题三,华为是如何识别到APP删除用户文件的?
安卓系统中,分为用户态内存和内核态。如果用户只是对自身的内存进行操作,则在用户态处理。如果想进行跨进程通讯,比如想其它进程发消息/向后台服务发请求/操作本地文件等等,都必须经过kernel内核转发才行。所以如果想全盘的监控对本地文件的操作,或者网络请求状态等等,只要对kernel内核进行注入监听即可。
EBPF就是这样一门内核注入工具,编译完成后,他是运行在内核中的,可以完成对内核中操作的监听。所以,个人猜测华为有可能就是利用了类似EBPF这样的工具,来监控APP对文件的操作的。当然,这种工具稳吗?个人观点是没有那么准的,毕竟收集的信息其实有限,误报是完全有可能的。
问题四.IOS会有这种问题吗?
我认为是不会有的,因为IOS本身就没有公共空间这个概念,每个APP都只有独立的空间,所以自然不会出现APP1删除APP2文件的情况。当然这么多就一定好吗?感觉这个看个人理解了,在我看来,属于各有优劣吧。
声明:
本文只是单纯的从技术角度去讨论某物事件中,涉及到的技术点的可行性,并不代表作者本人的任何观点和立场。
文本请勿用于任何非法用途和立场。
欢迎技术讨论,拒绝网络暴力。
从技术角度看待某物APP私删用户视频事件相关推荐
- 网络热传App鉴定 |「得物」疑私删用户视频?从技术角度还原事件始末
声明:本文更注重于原理知识的普及,因此文中不会有大量实际代码的展示,如果想从代码层面上了解「应用存储分区」的内容,欢迎阅读我两年前写过的技术文章<Android 10 应用分区存储适配实践> ...
- COACH与得物App达成官方合作 未来计划提供专供款商品
5月9日消息,奢侈品牌COACH宣布与得物App达成官方合作.COACH官方入驻得物App后,除了提供包括手袋.皮具.配饰在内的专柜同步款外,未来还计划为得物App上的用户提供专供款商品. 据介绍,此 ...
- 得物 App H5秒开优化实战
文/XU MING 关注得物技术,做最潮技术人! 背景 H5秒开优化是一个老生常谈的问题,于是得物技术联合了客户端和H5共同发力.本文将逐步介绍如何通过客户端 + H5 的优化手段(1+1>2) ...
- 得物App获得2020“年度新经济企业”奖项
日前,在中国新闻社<中国新闻周刊>主办的2020"年度影响力人物"荣誉盛典上,潮流网购社区得物App凭借在年轻消费领域的深耕和探索,获得2020"年度新经济企 ...
- 得物App联合Zippo推出限量款打火机 首批开售十分钟即售罄
5月18日,得物App今天宣布联手世界知名品牌Zippo,共同推出"登峰造极.极光之宝"联名限量款打火机,并在得物App进行独家发售. 根据官方公布的数据显示,开售十分钟,首批限量 ...
- K12在线教育App如何实现用户增长?
对于K12在线教育而言,获客一直都是一个难题,随着互联网人口红利基本消耗殆尽,部分K12教育机构陷入线上流量贵.获客成本高.用户数量增长缓慢的困境.那么我们该如何做,才能更好的帮助K12在线教育企业实 ...
- 得物App万米高空WiFi拦截记
0.前情摘要 在一次飞行途中,我司客户遭遇到了得物App在飞机上的WiFi网络访问异常的问题.这让我们意识到在特定场景下,用户可能面临无法使用得物App的困扰.经过SRE团队与无线团队.网络团队联合全 ...
- 互联网晚报 | 11月29日 星期一 | 小米汽车正式落户北京经开区;得物App发布“潮流主场计划”;有赞新零售独立后成绩单披露...
今日看点 ✦ 网易云音乐香港IPO定价为每股205港元,拟筹资4.22亿美元 ✦ 小米汽车正式落户北京经开区,预计2024年首车将下线并量产 ✦ 拼多多三季度利润全部投入"百亿农研专项&qu ...
- 商家如何构建公域到私域用户暴涨模型
2022年,公域流量变现越来越难. 更多商家开始构建属于自己的公域-私域引流变现模型,将公域流量平台作为内容引流端,将创客匠人知识店铺等作为沉淀用户.课程交付.教学服务的私域平台,然后基于好口碑做用户 ...
最新文章
- Linux之压缩和解压缩命令
- leetcode2. 两数相加--每天刷一道leetcode系列!
- 个人博客代码_这四个博客模板美观大气,做个漂亮的个人博客必须得收藏
- java 正则匹配 sql星号,18. 正则表达式:开头、结尾、任意一个字符、星号和加号匹配...
- python tkinter button颜色变不了_更改函数中Tkinter按钮的颜色
- 0001-Hello world(第一弹)
- 【传智播客】Javaweb程序设计任务教程 黑马程序员 第五章 课后答案
- 工厂模式-依赖倒置原则
- php设计模式之单例模式 1
- Windows 10标题栏显示颜色
- axios拦截器_请求拦截器_响应拦截器---axios工作笔记010
- Unity 编辑器启动时运行自定义编辑器脚本
- Python 爬虫之代理服务器
- vb 远程连接 SQLserver数据库的连接语句
- 微信小程序——video视频播放
- 计算机未安装flash,win10系统提示未安装Flash的解决方法
- 一步一步教你写股票走势图——分时图四(高亮联动)
- Vultr与阿里云结合自动换IP的解决方案
- 去湘菜馆,该不该来壶酸梅汁?
- 初始化失败_Destroying singletons