LINEのデータベースを解析してみる「ZMESSAGE」編

2013/12/03現在。

追記(2014/04/17).その他のテーブルについての記事も書きました。
LINEデータベース「talk.sqlite」のテーブル解析 - !#



f:id:shutingrz:20131205022954p:plain
この公式アカウントのトークが


f:id:shutingrz:20131205023009p:plain
こんな風になる(送信者の変更、送信メッセージの変更)
この他にも既読数の変更など、メッセージの捏造ならなんでもできるようです。

                          • -


iPhoneアプリ「LINE」のトークのデータベースの解析をしてみる。

解析するデータベースは
Line/Documents/talk.sqlite


今回はZMESSAGEテーブル。

・Z_PK
通し番号。

・Z_ENT
謎。4がデフォルト?

・Z_OPT
他人の発言(メッセージ)は1。

・ZCONTENTTYPE
テキストメッセージは0。画像送信は1。

・ZREADCOUNT
他人の発言は0。自分の発言の場合はその既読数。

・ZSENDSTATUS
正常に送信できたら1。

・ZTIMESTAMP
発言したメッセージのUNIX時間。

・ZCHAT
発言した部屋番号。(いわゆるトークの通し番号)
Z_1MENBERSテーブルのZ_1CHATSの値と同じ。

・ZSENDER
発言したユーザのローカル通し番号。
ZUSERテーブルの通し番号と同じ。

・ZLATITUDE
テキストメッセージは0.0固定。
画像など、テキストメッセージ以外の時は別の数値

・ZLONGITUDE
テキストメッセージは0.0固定。
画像など、テキストメッセージ以外の時は別の数値

・ZID
多分LINE全体のデータベースの通し番号。(数値が7380億とか膨大な通し番号になってる)

・ZMESSAGETYPE
現在のメッセージだと空。昔は自分の発言はS(send?)、他人の発言はR(receive?)とか入ってた。

・ZTEXT
テキストメッセージの内容。(メッセージはもちろん、〇〇が画像を送信しましたとかも)

・ZCONTENTMETADATA
LINE@って言うのかな?企業とかのメッセージだと「bplist00」から始まるメタタグが入る。
あるときにauが画像を送信した時のタグは、

bplist00�%&T$topX$objectsX$versionY$archiver�Troot��	
U$null�
ZNS.objectsV$classWNS.keys���������[PREVIEW_URL\DOWNLOAD_URLVPUBLIC_Bhttp://dl-obs.official.line.naver.jp/r/talk/m/443472135318/preview_:http://dl-obs.official.line.naver.jp/r/talk/m/443472135318Ttrue� $X$classesZ$classname�!"#_NSMutableDictionary\NSDictionaryXNSObject_NSMutableDictionary

って入ってた。


・ZTHUMBNAIL
画像メッセージの時以外は空。文字化けしてよくわからないけど多分サムネ。