代码侦探
Posted Debroon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码侦探相关的知识,希望对你有一定的参考价值。
《目录》
有时候,会遇到比较古怪的要求。 比如,帮忙看看男朋友去哪了......
元侦
我们平时拍摄的图片,保留着一些信息。 比如 拍摄时间、GPS。
我们可以在 朋友圈/网站 采集一些照片。
一些平台上的图片,为了节省空间,会删除掉图片的元信息。比如 CSDN。
您可以使用下面的代码,查看元信息。
import piexif
import sys
import os
import re
import PIL
from PIL import Image
from PIL.ExifTags import TAGS
def remove_all_exif(image_names):
for image_name in image_names:
try:
piexif.remove(image_name)
print(image_name, "exif信息清除完毕")
except Exception:
pass
def del_images():
all_file_names = os.listdir()
image_names = list()
for file_name in all_file_names:
if re.match(r".*\\.(jpg|JPG|png)", file_name):
image_names.append(file_name)
print("已经将", file_name, "添加到列表!")
else:
pass
return image_names
def get_Exif(image_names):
for image_name in image_names:
print("\\n\\n开始读取", image_name)
exifData = dict()
imgFile = Image.open(image_name)
try:
info = imgFile._getexif()
if info:
print(image_name, "的信息为:")
for (key, value) in info.items():
nice = TAGS.get(key, key)
print("%s(%s) = %s" % (nice, key, value))
if nice == "GPSInfo":
print("---%s(%s) = %s---" % (nice, key, value))
elif re.match(r"^Date.*", nice):
print("%s(%s) = %s" % (nice, key, value))
else:
pass
else:
print("没有任何元信息!")
except Exception as e:
print(e)
def get_images():
all_file_names = os.listdir()
image_names = list()
for file_name in all_file_names:
if re.match(r".*\\.(jpg|JPG|png|jpeg)", file_name):
image_names.append(file_name)
else:
pass
return image_names
def main():
image_names = get_images()
get_Exif(image_names)
jude = input("是否删除元信息? [是] or [任意键结束]:> ")
if jude == "是":
image_names = del_images()
remove_all_exif(image_names)
else:
pass
if __name__ == "__main__":
main()
程序运行后,会把所有的元信息打印出来。
注意这几个:
- DateTime 是 拍摄时间
- Make、Model、Software 是 拍摄设置的信息
- GPSInfo 是 位置信息
通过里面的 GPS 信息放到 谷歌地图 里,就能找到拍摄的地方了。
如果拍摄对象是人且距离拍摄设备在 1.5m 以内,手👋是对着摄像头的(剪刀手也是)。
那能 100% 还原TA的指纹信息,如果是 1.5m~3m,就只能还原 50% 了。
指纹被提取后通过专业材料做成指纹膜,就可以用来干很多事情了。
先和需要调查的目标套近乎,聊聊天、崇拜一波、而后加个微信。
接着,在微信里。巧妙的要TA拍照过来,比如 :
- 你家团团(宠物)正在干嘛呢,能拍张照片看看吗?
- 你那边天气怎么样,能怕张天空的照片看看吗?
- 你今天有好好学习,我监督你哟,发一下你的笔记本呗~
- ......
图侦
如果图片没有任何元信息的话,可能图像中有呢。
比如,近距离的拍摄,我们可以从拍摄人的眼睛里看到世界的倒影。
在日本就有人靠女生眼睛里的倒影,找到了她,并堵住了她......
举几个🌰,开阔一下思路。
首先,确让我们收集的图,到底是私下拍摄的,还是网上下载的。
我们可以通过搜索引擎的 以图搜图 功能,如果这张图是网上的,那就能搜索到或者搜索到与之类似的图片。
如果是私下拍摄的,我们就从图中找信息。您的福尔摩斯已经上线。
福尔摩斯接到一个任务:拍摄下面图片的人,当时站在哪里 ?(需要建筑物的具体位置,并精确到楼层)
福尔摩斯又接到一个任务:拍摄下面图片的人,在哪里 ? (需要知道住址,并精确到小区的楼层)
福尔摩斯接到又一个任务:拍摄下面图片的人,在哪里 ? (需要知道具体位置,并精确到这个视角/角度的位置)
话分三头,我们一一解决。
第一任务。
拍摄下面图片的人,当时站在哪里 ?(需要建筑物的具体位置,并精确到楼层)
在第一副图中,栏里的不是中文,那我们搜索的时候最好用英文。
【线索1】:
【线索2】:
为了确保寻找的正确性,从【线索2】开始寻找,【线索1】做验证。
【线索2】好像是一张国家的国旗,但国旗的边框又是邮票的,所以可能是国旗主题的邮票。
$xxx$ :表示搜索 xxx。
使用 Chrome 搜索 $世界各国国旗$,但试着改用英文搜索 $flags of the world$。
于是,我们推断这张图应该是在 埃及🇪🇬 境内。去找一些埃及首都开罗的照片,但并没有与之类似的。
好吧,只能利用【线索1】了。
搜索 $tp logo$(tp 图标),没有任何发现,再接再厉。
搜索 $tp office building$ (tp 办公楼),找到了这张图:
这张图里面的这个楼就是 [tp 办公楼],得到是 [波兰电信] 在华沙的办公楼。
可以使用 Google 获取街道信息,Google街景+Google地球。
定位到 [华沙波兰电信办公楼],经过分析,拍摄照片的地方应该是 Warsaw Financial Center (华沙金融中心)。
利用 Google 地球的 3D 建模,对比原图根据拍摄角度调整到拍摄所在的高度。
初步判断拍摄者应该站在华沙金融中心大楼的十五层上下,那到底是哪一层呢?
细看原始照片,波兰电信大楼的中间位置有几个蓝色的反光,好像是什么字。
用 Photoshop 把那几个字反过来,看着好像是 Google —— 拍摄者就站在 Google 的华沙办公室里。
Google在那设有办事处。搜索 $google offices warsaw$(谷歌办公室华沙),得到 http://www.google.com/about/company/address.html
【总结】
- 位置: 波兰🇵🇱首都-华沙金融中心-谷歌办公室 15 楼左右
- 电话: +48 22 207 19 00
- 传真: +48 22 207 19 2
好吧,我们到达任务的标准了 --- 具体位置+精确楼层。
第二任务,因为第二张图是中国的,所以用中文搜索会比较好。
拍摄下面图片的人,在哪里 ? (需要知道住址,并精确到小区的楼层)
把这张图片放大,可以看到窗外右侧的外景信息。
有一个很好的线索,用 Photoshop 把那几个字反过来:天汽车城。
搜索 $天汽车城$:
有四个位置:长沙河西、车营车展蓝天、平昌通天、丽辛杨天。
因为照片比较建筑物比较多,应该属于比较发达的城市,县城可以排除。
查看 长沙河西天汽车城的实景地图:
附近植被比较多,而照片背景是大片的建筑,不太符号。我们先去看看别的。
换一个浏览器试试,搜索 $天汽车城$:
查看 泉州海天汽车城:
对比照片,里面有个公园,可以深入看看。
再从网上找到海天汽车城的照片对比:
左图放大后不太清晰,原图如下:
再通过谷歌地图,确认。
从图中看出,公园是在汽车城与目标楼层中间。
往公园左边看,会看到一个泉州万隅中骏商城公寓。
从照片里看,公寓靠近公路,和地图上的符号。
接着,在百度上搜索 $泉州万隅中骏商城公寓$。
再根据谷歌地图看到公寓的大厅,对比玻璃门上的景色,是照片里外景树木。
再根据照片里窗外的柱子,以及向下的角度推断到几楼。
还可以进一步打探,可以打电话咨询,排除哪些是空的,缩小范围。
【总结】
- 位置: 泉州海天汽车城泉州万隅中骏商城公寓 xx楼
- 电话: 2728 xxxx
地理侦
第三任务。
拍摄下面图片的人,在哪里 ? (需要知道具体位置,并精确到这个视角/角度的位置)
结合地理来分析,因为我们是北半球,所以影子肯定不会出现在本体的南边,而建筑物面积最大的侧面一般又是向阳的,所以这幅图的东西南北。
太阳东升西落,所以拍这幅照片的时候是下午,大概 3~4 点。
之后进一步分析各种光线的夹角、实体高度与投影长度关系,得到太阳高度角和影子长度的大致数据。
得到太阳高度角和影子长度的大致数据后,通过 Sun Earth Tools 查找这个这个地方的信息。
Sun Earth Tools:https://www.sunearthtools.com/dp/tools/pos_sun.php
Sun Earth Tools 能获取地球所有地点、所有时刻的太阳高度角和影子长度。
以上图估算的数据代入,就能得到照片拍摄地点的大致经纬度。
再回到影子定位的网站,当我们把月份调到 7 月的时候,下午 16 点的那条直线的方向正好和照片中影子的方向吻合!!!
而后呢,在这个建筑物附近寻找一下,就找到准确的位置。
再进去一些,就发现和原图简直一模一样。
工具侦
下面的就简单的概况一下,不讲细节。
通过这个网站,您可以看到 可以计算出任意两个电影明星之间的距离。
比如,中国演员章子怡认识特斯拉的马斯克,需要哪些人做铺垫。
比如,你猜猜看,中国女演员章子怡要联系上特斯拉的老板伊隆·马斯克,需要经过几个人?
答案是一个。
这个人经常演配角,很多人可能不认识,他叫做唐·钱德尔(Don Cheadle)。
他和章子怡一起出演了一部电影,叫《尖峰时刻2》(Rush Hour 2)。
他还出演了另外一部电影,叫《钢铁侠2》(Iron Man 2),伊隆·马斯克在里面有客串。
如果您有心,可以认识世界上任何一个人。
邮箱侦
IP侦
数据库侦
以上是关于代码侦探的主要内容,如果未能解决你的问题,请参考以下文章