# 自编 GPS 与内嵌缩略图：EXIF 开关的实际结果

2026年10月17日，使用一张640×400自编方向图JPEG，含A/B/C/D与UP123。Make=`Doc2X Synthetic QA`、Model=`Not a real camera`、Artist=`Synthetic test fixture`、DateTimeOriginal=`2001:02:03 04:05:06`、Orientation=1均为明确写入的合成字段。没有读取真实用户照片或相机拍摄信息。

## 九个 GPS 字段全部是虚构 QA 值

GPSVersionID=`2,3,0,0`，LatitudeRef=`N`、Latitude=`0/1,0/1,0/1`，LongitudeRef=`E`、Longitude=`0/1,0/1,0/1`，AltitudeRef=`0`、Altitude=`85/2`米，TimeStamp=`4/1,5/1,6/1`，DateStamp=`2001:02:03`。0°N、0°E是Null Island测试坐标，不代表任何人或设备的真实拍摄地点。坐标为0仍然是存在的GPS元数据，不能把0当作已删除。

原输入57,157字节。IFD0的next指针实际连到IFD1，其中Compression=6，偏移470、长度6275；这6275字节真的是JPEG内容，可解码160×100，来自同一公开自编方向图的本地缩小。包中`thumbnail.jpg`为实际提取的原payload字节，没有补画、重编码或替换。

## 两次单文件实际操作

在图片格式转换工具上传这张输入，输出选JPEG。保留EXIF开启生成一次，单张下载一次，实际26,631字节；随后关闭保留EXIF，重新生成一次，单张下载一次，实际25,868字节。共2次转换、每次1张、2次单JPG下载，没有ZIP、OCR、翻译或API任务。两次下载事件未回报完成，各只点击一次下载，再核对新落盘唯一匹配的合成结果，没有重复生成／下载。完成后恢复原保留EXIF开启状态，未再运行，产品／研究标签已关闭。

## GPS保留和缩略图完整性分别看

开启保留时，9个GPS字段均仍在且数值一致。IFD1也仍声明宽160、高100、Compression6、偏移470、长度6275；但实际EXIF APP1只有476字节，其中TIFF仅470字节，470+6275越界。文件没有有效缩略图JPEGpayload，不能把“标签存在”说成“缩略图已保留”。主画面仍能正常解码640×400；本轮没有修复产品行为。

关闭保留时，实际JPEG没有EXIF APP1，因此没有GPSIFD或IFD1。两个输出仍有470字节ICC APP2与JFIF APP0，不能称为全部元数据清空或适用于所有设备的完整隐私清理。输入没添加XMP/IPTC，本轮不验证它们的删除。JPEG重新编码使解码像素哈希变化，不能称无损。

本轮关闭输出是本轮真实新操作与下载，字节碰巧与此前公开`image-exif-remove.jpg`完全相同（SHA-256在checks记录）。网页复用这个已有资产，不新增重复副本，也不把本轮操作归给此前任务。包内`remove.jpg`仍来自本轮原生下载。

## 核对文件与公开脚本

本地两套独立JPEG/TIFF解析器都读取真实GPS/IFD1结构；输入验证30／30与产品结果83／83分别记录，不混成一个数字。源／开／关三份主JPEG均可解码640×400。全部原生JPEG与输入内嵌缩略图字节未改。公开`checks.json`为脱本机路径副本，保留真实文件哈希、9GPS值、IFD1越界、ICC和各项检查记录。

`fields.png`是从真实文件读取的本地中文表格，`thumbnail-check.png`仅展示输入里真实存在的缩略图和开／关解析说明；它们不是产品UI或伪造输出图片。两张设置截图直接复用真实截图原字节，只证明设置，不证明完整缩略图。

解压核对包运行`python3 verify_exif_gps.py`。标准库脚本只读固定文件哈希、JPEG APP1／APP2、TIFF GPS／IFD1和真实payload边界；不联网、不读密钥、不写文件。它不解码主画面像素，画面解码来自本地主报告，不是通用照片质量或隐私清理评测。
