京东“盗图”事件分析

京东“盗图”事件分析

这里还是利用上次讲的trace来宏观分析函数调用流。

利用ddms的trace功能,记录用户截图时,“京东金融app”在后台执行的函数流:
w500

涉及函数和截图有关,尝试搜索“screenshot”:
w500
w500
w500
w500
w500

这里省略了一些方法,主要涉及两个类:GlobalShotListener和ScreenShotListenManager

先看ScreenShotListenManager:
w600
注册全局的媒体内容观察者。响应函数:

w400
打印了一些截图信息,交给监听类处理:

w500
w500
设置的监听响应对象是GlobalShotListener的实例。

看一下GlobalShotListener:

w400
响应函数调用gainShotBusinessItemGet

w500

w500
w500
w500
w600

w500
generateKey是由图片信息组成的类似文件名的特征字符串。
根据特征字符串在缓存文件中检索指定文件。

w500
w600
w500
这里就能看到缓存文件夹的创建和使用,即涉事文件夹“uil-image”。

以上是事件涉及的函数。总结一下流程:
应用全局监听媒体内容变化(截图事件),出现截图后,根据uri信息获取图片信息,拿到图片路径后,生成特征字符串再本地缓存图片,供其他功能调用,这里只看到图片预览功能,未发现任何网络相关操作。