从保存受限的手机APP中提取文件(读取Android系统中的新增缓存文件)

这个手机APP的权限可能设置了无法在应用内保存文件,但是这个文件实际上一定存在于本地的某个地方,本文的方法通过遍历最后修改日期今天的文件,很容易就可以找到它。

首先安装一个QPython,这个软件可以允许你在安卓手机上运行Python程序:

然后新建一个脚本,运行如下代码:

import os, time

MIN_DATE = time.localtime()[:3]
MIN_SIZE = 1e6

result = []
os.chdir('..')
print('Dir:', os.getcwd())
for root, _, files in os.walk('.'):
    for file in files:
        path = os.path.join(root, file)
        size = os.stat(path).st_size
        mtime = time.localtime(os.stat(path).st_mtime)
        if mtime > MIN_DATE and size > MIN_SIZE:
            result.append((size, mtime[3:6], path))

for item in sorted(result):
    print(*item)

print('Total:', len(result))

其中MIN_DATE用于过滤显示最后修改时间在指定时间之后的文件,这里自动获取的今天的日期。

其中MIN_SIZE用于过滤显示文件大小大于设定大小的文件,这里的1e6就是1MB的大小。

最后结果按照文件大小排序,并返回文件大小、文件修改日期的时分秒、和文件路径的3元组数据:

为了缩小范围,可以先在运行前清除APP的缓存,然后重新在APP中访问文件。这样文件会重新下载,在更加可知的时间范围内创建本地缓存,缩小检索范围。

看到路径、文件名、文件格式,觉得差不多的都可以试一下。

然后根据文件路径在文件浏览器中找一下即可:

比方说翎信,在APP内提示无法保存文件,但是在缓存目录中可以找到加载过的文件:

~/Android/data/com.htkx.wxwork/files/tencent/LocalWeixinWork/com.htkx.wxwork/filecache/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值