照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

本文通过实例展示了如何从社交媒体发布的照片中提取隐藏的地理位置和时间信息。作者通过分析照片的细节,如建筑物、绿植、广告牌等,结合开源情报工具,成功定位到了沈阳市某小区的具体位置,并通过影子长度计算出拍摄时间。文章强调了保护个人隐私的重要性,提醒公众在分享照片时要注意潜在的信息泄露风险。
摘要由CSDN通过智能技术生成

发微博,发朋友圈,我们常常喜欢po出自己喜欢的照片,殊不知,在我们分享自己生活的同时,我们的照片可能在不经意间泄露出我们的个人信息。

在这篇文章中,我将用最基础的方式展示出我们能从一张简单的照片中得出怎样的信息。

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

上图是我最喜欢的一位博主发布的一条动态

 

由图中的时间和简单定位可知这篇动态发布于2021年4月26日早上10:07,沈阳市。

 

但是,作为这位博主的忠实粉丝,我并不满足于图片中所展示的信息,我将用最普通的开源情报分析方式,来告诉大家

 

照片是会说话的!

 

首先,先大致观察一下,图片反映出了哪些信息

 

由图,我们可以将此照片拍摄的地点粗略地锁定在沈阳市区,从博主的发文可以了解到该照片的拍摄时间大约是在早高峰时期,而我为什么没有说该照片的拍摄时间是图片中所显示的10:07分呢?

 

因为,图片的发布时间不等于拍摄时间,如果我们受到此想法的引导,那么最后得出的结论必将是不严谨的,不准确的。 同时若我们能够得到照片的原始文件,便可以在属性中找到拍摄时间甚至是拍摄地点,这样的话就不需要我下面的操作方法了,所以,我在下面所展示给大家的方法,是在没有原文件的情况下所使用的最原始的方法。

 

图片中可获取的信息如下

(1)几幢有特点的建筑物

(2)大面积的绿植

(3)远处有河流

(4)远处有三幢红色的建筑物

(5)该博主的拍摄角度很高,且拍摄点位于马路边的建筑物之中

 

其次,让我们将图片局部放大,看看都能搜集到什么信息

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

上图的红色广告牌中体现的字迹很是模糊,看不清具体广告牌的内容,那么,换个区域

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

上图中的广告牌依然无法辨识,但是该建筑物右方存在一巨大的LED广告牌

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

由上图建筑物上所显示的名字可以依稀分辨出“XX区块链产业园”通过地图搜索,没有发现符合该位置特征的地点。

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

由此图可发现大量绿植后是一个“Y”字路口

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

这张图中的字依然无法辨识清楚,没关系,我们继续

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

公交车上标记的“客运集团”可以去·百度查询该公司,但是经查询该公司在多地都有相应的公交车,信息体现的作用不大由于无法看清公交车具体班次,无法查询具体线路,所以,该照片并没有太多有用信息

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

由此照片可判断拍摄者附近存在河流,且河对岸有三幢红色建筑物

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

由上图,我们可以看到马路中间有一名男子正在过马路,而他的影子正好在地上的斑马线展现出来。看到这里,我不禁激动了起来,终于发现了一个相对重要的线索。

我们学过的地理知识中,有这么一个知识点,就是利用身高和影长、具体日期以及地理位置来确定视频拍摄的具体时间

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

如图中蓝线所示,该男子的身高大约在1.7米到1.8米之间,影子长度大约占了两黑三白多一些,我们可以根据斑马线做一个参照物简单预测一下该男子的身高及影长。

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

通过互联网搜索斑马线的规格可以推断该男子的影长大约为0.45+0.45+0.6+0.6+0.6=2.7米,这个2.7米为该直角三角形的一个直角边,另一直角边根据该图可以预测为0.5米左右,由勾股定理可知该男子影长范围大约为2.7米到2.9米之间。同时,以斑马线为参照物,可以预测该男子身高应为1.7米左右。但是为了严谨一些,我仍保留1.8米的数据作为极限值。

接下来我想要推断具体的时间。进行这个操作,我将用到一个神器——Suncalc网站

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

Suncalc是一个可以根据影子来计算照片拍摄时间的网站,该网站的工作原理可以简单解释为:根据【1】具体坐标+【2】具体日期+【3】参照物高度可以推测出【4】拍摄的具体时间

那么目前我们所掌握的信息中,包括了具体日期(2021年4月26日)以及参照物高度(该男子身高1.7米到1.8米之间),那么问题又回到了我们最初的原点——找地点

我们目前所掌握的信息有

(1)几幢有特点的建筑物

(2)大面积的绿植

(3)远处有河流

(4)远处有三幢红色的建筑物

(5)该博主的拍摄角度很高,且拍摄点位于马路边的建筑物之中

(6)“Y”字路口

(7)拍摄者附近存在河流,且河对岸有三幢红色建筑物

从以上信息可以发现,我们在该照片中发现的最有价值的信息便是“Y”字路口及绿植,还有河对岸的三幢红色建筑

下面便是考验我们耐心跟眼力的时刻,由于该博主替我们将范围锁定在了沈阳市,那么我们需要做的,就是不断利用地图软件进行查询和比对工作,搜集相似的建筑物进行比对分析。

在此过程中,我们可以使用以下几个网站进行搜集比对

 

(1)谷歌地球(2)地球在线(3)ThingJS

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

经过对沈阳市几个区的地理信息进行比对,我最后将拍摄者所处的位置锁定在南湖公园与方形广场附近,具体过程如下视频所展示。

 

通过ThingJS的3D模型比对,我们可以发现:

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

在我标注的位置以及具体建筑物模型所展示的那样,该位置符合我们之前发现的所有信息特征。这样,拍摄者所在的地理位置便浮出水面——方形广场【xx】小区。为了保护该博主的隐私,对小区名字用XX代替由拍摄角度及比例参照可推测拍摄者所在高度大约在70米到80米之间,通过查询该小区楼盘情况可知该小区层数为28层,再根据一般住户标准,推测拍摄者所在层数为25或26层。

 

具体的地点我们知道了,那么拍摄时间我们也可以推测一下,这就又回到了suncalc

根据【1】具体坐标+【2】具体日期+【3】参照物高度可以推测出【4】拍摄的具体时间,将我们前面得到的推测数据输入网站

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

由网站给出的数据可以得出我们的方向是正确的,并且得到在假设该男子身高为1.8米时网站给出的影长数据为3.30米、2.85米,假设为1.7米时,网站给出的影长数据分别为3.12米、2.69米,通过比对前面我已经算出的数据,可以推导出拍摄者拍摄该照片所处的时间段为早上7:30分至早上7:50分之间。

 

经过以上步骤,我们可以得出该博主拍摄该照片的地点为辽宁省沈阳市和平区方形广场【XX】小区25层或26层,拍摄时间为2021年4月26日早上7:30分至7:50分之间

为了检验我得出的结论是否正确,我决定去向该博主证实一下,下面是该博主发给我的他的照片的拍摄时间

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

由此可见该照片的准确拍摄时间为2021年4月26日7:47分而在suncalc中输入正确的时间,以及该男子最有可能的身高(即1.7米),可以得出该男子此时影长为2.75米,正好在我们的预测范围之内。

照片会说话!如何通过一张照片找到拍照者的位置?(细思极恐!)

 

通过以上简短的过程,我们可以了解到通过照片可以告诉我们多少信息,以及如何去提取这些信息。在互联网飞速发展的今天,信息安全逐渐在个人安全领域彰显出越来越重要的地位,在我们日常发照片的时候,一定要保持一定的警惕性。不然你的隐私,将会在别有用心的人那里,宛如透明一般!

(注:本篇文章所用全部照片皆已征得有关部门及相关人士许可,本文所昭示的只是一种信息搜集方式,提醒各位读者要保护好自己的隐私,以及遵守法律法规。不得使用这种方法从事违法犯罪活动)

推荐阅读:网络安全面试高频题:DDOS+Linux+TCP+OSPF已练完(建议收藏)

在Android中,要调用系统相机拍照可以使用Intent,以下是一个简单的示例: ```java private static final int REQUEST_IMAGE_CAPTURE = 1; private String currentPhotoPath; // 调用系统相机拍照 private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); // 确保有相机应用可以处理该 intent if (takePictureIntent.resolveActivity(getPackageManager()) != null) { // 创建一个文件来保存拍摄的照片 File photoFile = null; try { photoFile = createImageFile(); } catch (IOException ex) { // 错误处理 } if (photoFile != null) { Uri photoURI = FileProvider.getUriForFile(this, "com.example.android.fileprovider", photoFile); takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI); startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } } // 创建图片文件 private File createImageFile() throws IOException { // 创建一个唯一的文件名 String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); String imageFileName = "JPEG_" + timeStamp + "_"; File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES); File image = File.createTempFile( imageFileName, ".jpg", storageDir ); // 保存当前图片路径 currentPhotoPath = image.getAbsolutePath(); return image; } // 处理拍照结果 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { // 图片保存在 currentPhotoPath 中,你可以在这里做你想做的事情 // 例如:将图片路径存储到数据库中,将图片显示在ImageView中等等 } } ``` 在上述代码中,`dispatchTakePictureIntent` 方法创建了一个 `ACTION_IMAGE_CAPTURE` 的 Intent,然后使用 `startActivityForResult` 方法启动系统相机应用。在 `createImageFile` 方法中,我们创建一个唯一的文件名,并将照片文件保存到 `/Pictures` 目录下。当相机应用拍摄完照片后,我们可以在 `onActivityResult` 方法中处理照片结果,照片保存在 `currentPhotoPath` 变量中,你可以在这里对照片进行处理。 需要注意的是,如果你想把照片保存到指定位置,你需要在创建照片文件时指定文件路径。在示例代码中,我们使用了 `FileProvider` 来获得一个可以共享的 URI,以便将文件路径传递给相机应用。如果你想将照片保存到指定的文件夹中,你需要修改 `createImageFile` 方法中的 `storageDir` 变量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是黑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值