搬砖日记

搬砖日记

作恶多端的微信在手机内拉的又一坨屎

因为在做一个聊天软件,发现用户反馈说收到的图片显示乱码,如下:

image_2023-07-27_15-22-55

MediaItem{mOriginalPath='/storage/emulated/0/Pictures/Screenshots/Screenshot_xxxxxx.jpg', mThumbPath='', origId=46907, generateDate=1690439895000, dateTag=null, isChecked=false, mMimeType='image/jpeg', mLongitude='181.0', mLatitude='91.0', mBusinessTag='null'}

看数据库这条消息存的是文本格式,非文件格式。我以为是什么文件关键字导致发送方发送图片失败,直接把本地拼接的 JSON 发送到服务器上了呢。后来不对,这格式和我 APP 图片的格式没有任何关系啊!甚至这些关键字都不在我的系统内。遂上网搜索,结果不搜不知道,原来很多平台都存在相同格式的文本,几乎一致是发送图片时出现的,包括单不限于抖音,小红书,百度贴吧,春雨医生等(如下列图片)

image

image

image

然后我第一直觉认为是本地相册分享导致的,系统拿到的格式不对或者文件名存在分隔符之类的情况。于是立即排查,但是找不到任何相关的内容。又看了一边上面的文本信息,发现其中存在 mLongitude , mLatitudemBusinessTag ,经纬度信息和商业标签。一般本地相册甚至会专门抹除这些信息,不应该啊。

但是经过我不断的搜索,还是找到了问题所在,这段字符的拼接代码,在多个反编译微信的仓库中找到了(信息来自网络,具体请看图下链接):

image

来源: https://github.com/0jinxing/wechat-apk-source/blob/f75eefd87e9b9ecf2f76fc6d48dbba8e24afcf3d/com/tencent/mm/plugin/gallery/model/GalleryItem%24MediaItem.java#L80

原来是微信发送图片的时候的拼接格式。

不过如何出现在我们的 APP 和各大 APP 中,确实不知道原因。但是依然可以确定,这是🐉又一次在手机内拉的💩。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。