搬砖日记

搬砖日记

作惡多端的微信在手機內拉的又一塊屎

因為在做一個聊天軟體,發現使用者回饋說收到的圖片顯示亂碼,如下:

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 中,確實不知道原因。但是依然可以確定,這是🐉又一次在手機內拉的💩。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。