我兄弟,让我偷他女朋友的手机相册

DM_20240315103939_001

事件是这样的。

有一天,一认识的哥们儿忽然找到我,他知道我会点技术,就问我说:“老胡,你有没有办法,可以黑进别人的手机,看到对方的相册?

我脑海的第一反应就是:wc,你小子想干嘛!

在我的一在追问下,他才说,有一个网恋对象,聊得挺愉快的,但还没有互分享照片,想知道她的真实长相。

。。。

听到这里,我脸上瞬间露出了姨母笑,心然应允下来。

01

说干就干,一般这类需求是比较常见的,网上应该就有现成的资源。果然搜出一大把,正当我开心时,意外发生了

DM_20240315103939_002

TMD,居然都要收费,收费也就算了吧,也没有个演示案例,哪知道你是不是骗子。

体验明显就不好了,于是花了一个多小时,游荡在百度和谷歌,终于找到了一个免费的看着不像源码的源码。

DM_20240315103939_003

这个应用是用 IAPP 做的,是一款安卓应用开发语言工具,代码是真够简洁的,就是不知道这源码能不能跑起来。

02

安装测试

DM_20240315103939_004

(源程序运行效果)

WC,这源码,你喜欢吗?

查看关键代码

代码中可以看到,应用在打开的时候,会自动远程通过API接口,随机获取一张热血图片,跟相册没半毛钱关系啊!

DM_20240315103939_005

继续往下看

DM_20240315103939_006

DM_20240315103939_007

(关键代码)

找到了关键代码

通过 IAPP 官方文档,理解了语法,上面意思很清楚:

1. 打开手机 Camera 相册文件夹,并获取相册列表

2. 判断图像文件类型,并拼接图像绝对路径

3. 上传文件到指定服务器

03

嗯,看起来没问题!能用。

BUT,太粗糙了,让我这个强迫症完全接受不了。

有如下问题,没有解决:

1. Camera相册下面的图像有那么多,你确定要上传所有吗?

2. 照片的上传顺序是从旧到新,万一还没有上传完,用户就关闭应用了,那就没戏了,看不到最新动态

3. 不同品牌的相册文件夹路径是不一样的,没有做预查询判断,就不会获取到照片

4. 每次还要登陆服务器后台,才能查看相册,太不方便,如何用户一打开软件,我就能收到提醒,并直接发送给我看不更方便?

5. 现在的照片,普遍单张就2M+的体积,服务器带宽不够的话,传一张就得好几秒,还看什么相册

6. 不同手机用户之间怎么区分,图像都传到一个相册,也不行啊

于是,我决定亲自动手改良优化

经过几个日夜的学习,仔细研读了 IAPP 官方开发文档,就准备开干了

DM_20240315103939_008

(官网开发手册)

04

一、相册路径

为了隐私,我改用 Screenshots 截图相册做示例

DM_20240315103939_009

国产安卓机主流的几个品牌,小米、华为、vivo、oppo等,截图文件夹就两个路径,如上所示,做一个查询判断就行,查询到就使用正确的相册路径

二、不想上传那么多的图像,只要最近几天的截图

DM_20240315103939_010

文件管理器打开截图和相机的文件夹,发现系统自动生成的文件命名,都具备时间日期的字符,这就好办了,写个正则判断就行。

DM_20240315103939_011

在这里,我只获取今天和昨天的截图,这样需要上传的文件就没有那么多了,而且都是最新的。

三、压缩照片

因为我买的服务器在国外,网速太慢了,平均上传一张照片需要10s,简直不能忍受。于是看着文档继续优化,找到一个方法,可以压缩图像。

DM_20240315103939_012

DM_20240315103939_013

把找到的图片进行压缩,并重命名保存,1.2M的图片给压缩成100K不到,相当Nice

DM_20240315103939_014

DM_20240315103939_015

可以看到,压缩图像观看起来丝毫不受影响,看清楚人脸自拍照也是完全没有问题的。

这样,上传100张图片,加起来也不超过10M的大小,网速好点的话,5秒就可以传完。

四、邮箱通知查看照片

我希望在照片上传到服务器后,服务器能第一时间通知我,并提供查看途径。这就要用到邮箱的 SMTP 服务了。

主流的QQ邮箱,网易邮箱等都提供这些服务,只是需要手动开通相关功能,这个可以去网上查看教程,我这里就不详细说明了。

服务器的邮箱处理程序,我用的是大名鼎鼎的 PHPMailer ,安装即用,相当方便。

DM_20240315103939_016

(PHPMailer 配置页)

OK,打包安装测试一下,邮箱成功收到了照片。

DM_20240315103939_017

DM_20240315103939_018

DM_20240315103939_019

完了吗,还没有,向来完美主义的我,替我的哥们想到了更多。

05

程序开发好了,你的软件得发给人家才行啊,不安装程序,你能怎么办。让人家安装总得有个由头吧。

DM_20240315103939_020

通过与哥们的沟通,知道了他网恋对象是做外贸的,那肯定  WhatsAPP、Telegram 这些软件的使用必不可少。而且这些软件都有一个特点,那就是需要科学上网,多少有些不方便。

于是想到了,把这个软件包装成一个不需要科学上网,也能正常登陆的软件,人家没准就愿意下载安装了,分享起来也方便。

说干就干

这些外贸软件,我手机里只安装了Telegram,就选它了。因为不需要实际功能,直接弄一个开机载图算了。

DM_20240315103939_021

为了防止用户打开软件,软件没反应就退出了,还温馨的弄了个倒计时,确保用户能保持软件处于活动状态,后台程序可以正常执行。

图标也配合上,完美。

DM_20240315103939_022

再从网上抓取了一个软件下载的静态页面,方便用户下载程序。

DM_20240315103939_023

DM_20240315103939_024

06

到此,所有工作都做完了,来看一下整个操作流程。

以下是视频演示

原文:https://mp.weixin.qq.com/s/E2ShINNC49G6KyVQBX78nw

(视频建议WIFI网络收看)

07

如果喜欢老胡的分享,欢迎赞赏关注

学习交流 wx:K103516

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容