ホームページ >WeChat アプレット >WeChatの開発 >iOS 用 WeChat チャット履歴ビューアの詳細な手順
[2016.10.14]
このソフトウェアをご愛顧いただきありがとうございます。最近、iOS WeChat データベースの保存方法が変更され、もともと Friend テーブルに保存されていた友人データが、friend_meta テーブルに変更されたことが判明しました。そのため、このソフトウェアの現在のバージョンは完全に異なります。最新の WeChat チャット記録を表示できないため、ブロガーは現在非常に緊急のタスクを抱えており、それが完了したら、この記事を更新してお知らせします。サポート!
iPhone の WeChat はますますスペースを占有しますか?写真を削除したくないですか?動画を削除したくないですか?次に、それをコンピュータのハード ドライブに転送し、このソフトウェアを使用して Windows で表示および検索し、携帯電話のスペースを解放します。この記事では、ソフトウェアの使用方法を詳しく紹介し、WeChat チャット記録のデータ保存形式を紹介し、ソフトウェアのダウンロード アドレスとソース コードを紹介します。最後に、iPhone チャット記録の画像とビデオ データをクリーニングする方法を紹介します。 。
WeChatを使用する日が長くなるにつれて、WeChatが占有する容量はますます大きくなり、iPhoneのストレージ容量はますます不足しており、その中で最も大きな容量を占めるのは写真とビデオです。スペース。すべてにおいて誠実さを追求する私は、写真やビデオを携帯電話で撮って、時々コンピュータに移すのが好きです。ストレージを確保し、携帯電話を解放します。しかし、2 日ごとにスペースを解放する必要がある場合、WeChat を調べたところ、2 ギガバイト以上のスペースを占有しており、このまま続けるという選択肢はありません。現在、Tencent には iOS バージョンの WeChat のチャット レコードが公式にはありません (Android にはチャット レコードがあるようです)。それは、WeChat のビルドと同様に Windows 上で表示できる必要があります。チャット履歴のバックアップと復元機能は他のデバイスにダンプするように設計されており、チャット記録はサーバーに7日間しか保存できず、来年には2GほどのデータをMa Yueにアップロードする必要がありますか?
それでは、チャット履歴ビューアを自分で作成し、データをコンピュータの大容量ハードドライブに移動するだけで、携帯電話上の写真やビデオを安全に削除できるようになります。以下は、私が開発した WeChat チャット記録ビューアの使用手順と、私が分析して推測したチャット記録データの保存形式です。ただし、これは不完全で、興味のある友人が分析して改善できる主要なデータ内容のみを表示できます。それを一緒に。
まず第一に、このソフトウェアは現在、iPhone 上の WeChat チャット履歴のみをサポートしています。以下にソフトウェアの使用方法を詳しく説明します。
2.1 データダンプ
iTools などのサードパーティツールを使用して、WeChat アプリケーションのドキュメントディレクトリをコンピューターのハードドライブにエクスポートし、このディレクトリにログインしているすべての WeChat アカウントが含まれています。 iPhoneのトーク履歴では、特定のアカウントのトーク履歴のみをエクスポートすることもできます。各 WeChat アカウントのデータは、WeChat ID の MD5 値に基づいて名前が付けられたフォルダーに保存されます。たとえば、図 2-1 のDocuments ディレクトリ内の 32 桁の名前を持つフォルダーは、異なる WeChat アカウントです。
図 2-1 ドキュメント ディレクトリの例
2.2 データベースの選択
チャット記録データベース ファイルは WeChat アカウント フォルダー内の DB ファイルに保存され、ファイル名は MM.sqlite です。この記事の最後に、チャット レコードの例を示します。プログラムの実行中に、データベース ファイル 06af9525a11ebb4f49ec72be6d165d10DBMM.sqlite を選択するように求められます。
2.3 メインインターフェース
ソフトウェアを起動し、データベースを選択します。ロードが完了すると、プログラムのメイン インターフェイスが図 2-2 に表示されます。ピンインの最初の文字でソートされた WeChat アカウントの友達リストが表示されます。右側は特定のチャット記録の内容です。フレンドリストは「フレンド」「グループ」「その他」の3つのタブに分かれており、その名のとおり、個人のフレンドは「フレンド」タブ、グループチャットは「グループ」タブ、そして「グループチャット」は「グループ」タブに分かれています。 「その他」タブに残りの契約アカウントやサービス番号などが表示されます。友達リストの上で友達を検索したり、チャット コンテンツの上でテキストを検索したりできます。友達リスト内の友達をクリックすると、右側のチャット コンテンツ ウィンドウにその友達とのチャットの特定のコンテンツが読み込まれます。
このプログラムはEO.WebBrowserコントロールの試用版を使用しているため(ブロガーは下手です〜)、プログラムを起動するたびにチャットコンテンツウィンドウの下側にライセンス購入を促すメッセージが表示されます。閉じてください。フォローアップの閲覧には影響しません。
図 2-2 WeChat チャット レコード ビューアのメイン インターフェイス
2.4 データ型
2.4.1 テキスト
携帯電話に表示されるものと同じように、バブル スタイルで表示されます、図 2-3 に示すように。
図 2-3 データ型の例: テキスト
2.4.2 絵文字
は、図 2-4 に示すように、WeChat に付属する小さな絵文字を表示できます。表示できるすべての絵文字表現については、図 2-5 を参照してください。
図 2-4 データ型の例: 絵文字表現
図 2-5 表示できるすべての絵文字
絵文字に加えて、WeChat 公式アニメーション表現も表示できます。図 2-6 を表示します。
図 2-6 データ型の例: アニメーション顔文字
これら 2 つの顔文字に加えて、WeChat ユーザーは多くの非公式の顔文字をこのソフトウェアで表示する必要があります。追加のデータ エクスポート作業を実行するのは複雑ではありません。iTools を使用して WeChat アプリのディレクトリ /Library/WechatPrivate/emoticon1 を開き、このフォルダーをこのソフトウェアのインストール ディレクトリにコピーし、元の emoticon1 フォルダーを上書きします。
2.4.3 画像
チャット履歴内の画像を図 2-7 に示します。画像をクリックすると、ローカルのデフォルトの *.jpg ファイル関連付けプログラムが呼び出され、大きな画像が表示されます。 Windowsフォトビューアです。
図 2-7 データ型の例: picture
2.4.4 ビデオとショートビデオ
チャット履歴内のビデオとショートビデオは、図 2-8 に示されています。ビデオをクリックすると、このマシンのデフォルトの *.mp4 ファイル関連付けプログラムが呼び出され、ビデオが表示されます。ビデオ。
図 2-8 データ型の例: ビデオ & ショートビデオ
2.4.5 音声
チャット記録内の音声は図 2-9 に示されており、クリックすると音声コンテンツが再生されます。
図 2-9 データ型の例: 音声
2.4.6 共有リンク
リンクをクリックすると、ブラウザが呼び出されて表示されます。元の Web ページ 。
図 2-10 データ型の例: 共有リンク
2.4.7 位置情報
リンクをクリックすると、ブラウザを呼び出して表示されます。図 2-12 に示す特定のマップ情報。
図 2-11 データ型の例: 位置情報
図 2-12 特定の位置情報を表示するブラウザ
2.4.8 名刺
チャット履歴の名刺メッセージは図 2-13 を示します。
図 2-13 データ型の例: 名刺
2.4.9 音声通話とビデオ通話
チャット履歴の音声通話とビデオ通話では、その時点の通話時間などの情報のみが得られます (図 2-14 に示すように、WeChat は通話内容 D) を記録できません。
図 2-14 データタイプの例: 音声、ビデオ通話
2.5 友達を検索
友達データがたくさんある場合は、上の検索バーに友達のデータを入力します左側の友達リスト キーワードには中国語またはピンインを使用できますが、現在のバージョンではピンインの最初の文字を使用することはできません。たとえば、「Zhang San」を検索するには、「Zhang」、「三」、「zhangsan」と入力します。 」や「zhangs」などがありますが、「zs」は入力できません。コンテンツを入力すると、すぐに検索結果ウィンドウが表示され、図 2-15 に示すように、キーワードに一致する友達がリストされます。検索結果をクリックすると、友人とのチャットの内容が自動的に読み込まれます。
図 2-15 友達の検索例
2.6 チャット内容の検索
チャット内容の検索は「現在の友達を検索」と「すべての友達を検索」に分かれており、ドロップをクリックしますチャット コンテンツ ウィンドウの上にある -down ボタン ボックスを選択するだけです。検索バーにキーワードを入力し、Enter キーを押して検索します。検索が完了すると、レコードをクリックすると、チャット コンテンツ ウィンドウが表示され、キーワードが強調表示されます。 。ここでのヒント: すべての友達を検索するには時間がかかります。
図 2-16 チャットコンテンツの検索例
2.7 ページジャンプ
チャットコンテンツウィンドウの右上隅は、ページをめくるナビゲーションボタンです。ページ数が多すぎる場合は、ページ番号を直接クリックすると、ページにジャンプするための入力ウィンドウが表示され、表示したいページ番号を入力すると、図 2 に示すようにそのページにジャンプします。 -17.
図 2-17 ページ ジャンプの例
チャット レコードのルート ディレクトリは、ユーザーの WeChat ID ユーザー名に基づきます (必ずしも WeChat ID である必要はありません。以下を参照) ) 指定されたフォルダーの MD5 ハッシュ。以下では、root がルート ディレクトリであると仮定しています。チャット レコードの主な内容は SQLite タイプのデータベース ファイル MM.sqlite で、パスは rootDBMM.sqlite です。以下は、このデータベースのコンテンツ形式を分析した結果です。
3.1 データテーブル
このソフトウェアで使用される 2 つのデータテーブル、つまり Friend テーブルと Chat_XXX テーブルは、XXX が友人の WeChat ID の MD5 値を表します。
3.1.1 友人テーブル
このテーブルには、友人に加えて、友人以外の連絡先、サブスクリプションアカウント、サービスアカウントなども含まれるすべての連絡先が保存されます。
(1) フィールド: type
このフィールドは、友達、グループ、その他の 3 つのカテゴリに分類することができます。以下の表を参照してください。このソフトウェアのコードでは使用されていません。
表 1-1 Friend データ テーブル タイプのフィールドの説明 (推測)
値 | 値(バイナリ) | 説明 |
1 | 0000 0000 0001 | 友達とその他 |
2 | 0000 0000 0010 | チャットグループと削除されたサービス番号とその他 |
3 | 0000 0000 001 1 | 友達とその他 |
4 | 0000 0000 0100 | この友達はグループチャットにいますが、友達として追加されていません |
5 | 0000 0000 0 10 1 | 友達とその他 |
6 | 0000 0000 0110 | 非-友達 |
7 | 0000 0000 0111 | 友達とその他 |
67 | 0000 0100 0011 | 音声リマインダー |
257 | 0001 0000 0001 | モーメントでブロックされている友達 |
71 | 0000 0100 0 111 | 友達を集めてスターを付けよう |
2119 | 1000 0100 0111 | ピン留めされた友達 |
259 | 0001 0000 0011 | モーメントでブロックされている友達 |
263 | 0001 0000 0111 | モーメントでブロックされている友達 |
0 番目の桁は、連絡先が友達を追加したかどうかを示し、6 番目の桁は、その友達が友達のサークル内でブロックされているかどうかを示します。友達は携帯電話の友達です リストの一番上に貼り付けてください。待て、待て、私は無知なので、これくらいしか理解できていないが、興味のある人なら誰でも分析できるだろう。
(2)フィールド:UsrName
UsrNameフィールドでは、「gh_」で始まるものはサブスクリプションアカウントとサービスアカウント、「@chatroom」で終わるものはグループです。
3.1.2 Chat_XXX テーブル
XXX は、友人の WeChat ID の MD5 値を表し、各友人のレコードは別のテーブルに保存されます。
(1) フィールド: Message
は、メッセージ レコードの特定の内容を表します。
(2) フィールド: Type
は、セクション 3.2 で指定されるメッセージのタイプを表します。
(3)フィールド:Des
0は自分が送信したメッセージ、1は相手が送信したメッセージを意味します。
(4) フィールド: CreateTime
日付変換: CreateTime フィールドには Unix タイムスタンプが格納され、SQL ステートメントで次の方法で変換できます:
select datetime(createtime, 'unixepoch', ' localtime') from chat_XXX
3.2 情報タイプ
3.2.1 テキスト
チャットレコードのデータベースファイルは: rootDBMM.sqlite です。
Friend テーブルにはすべての友人の情報が格納されます。UsrName フィールドは友人を一意に識別する ID ですが、ユーザーが QQ 番号を使用して WeChat を申請した場合、UsrName は WeChat ID である必要はありません。ユーザーが WeChat ID を使用して申請する場合、UsrName は WeChat ID になります。携帯電話番号を使用して申請する場合、UsrName は wxid_XXXXX の形式になります。いずれの場合も、この UsrName に対して MD5 操作を実行します。その前に「Chat_」を追加して得られるハッシュ値が、この友人のすべてのチャット レコードを格納するテーブル名になります (Chat_a500325c723649ddb75eda10635edf82 など)。グループについても同様です。
FriendテーブルのShortPYフィールドには友達の発言情報が格納されますが、エンコードが異なります。
チャット記録テーブルのメッセージフィールドには、友人とのチャット記録のすべての情報がテキストで保存されます。他の形式については、次の章を参照してください。 CreateTime フィールドは、情報が生成された時刻です。Des フィールドが 0 の場合、それはユーザーによって友人に送信された情報です。Type フィールドが 1 の場合、それは友人によって送信された情報です。図1では、情報は文字情報である。
3.2.2 画像
友人のチャット記録テーブルで、Chat_ a500325c723649ddb75eda10635edf82 テーブルであると仮定すると、フィールド Type が 3 の場合、情報は画像です。 MesLocalID フィールドは数値であり、それが "407" であり、画像は rootImga500325c723649ddb75eda10635edf82 の下の "407.pic" に保存されます。ここで、"407.pic_thum" は画像のサムネイルです。
3.2.3 ビデオ
友人のチャット記録テーブルで、Chat_ a500325c723649ddb75eda10635edf82 テーブルであると仮定すると、フィールド Type が 43 の場合、情報はビデオです。 MesLocalID フィールドは数値です。たとえば「8011」です。ビデオは rootVideoa500325c723649ddb75eda10635edf82 の下の「8011.mp4」に保存されます。「8011.video_thum」はビデオのサムネイルです。
3.2.4 ショートビデオ
友人のチャットレコードテーブルで、Chat_ a500325c723649ddb75eda10635edf82 テーブルであると仮定すると、フィールド Type が 62 の場合、情報はショートビデオです。 MesLocalID フィールドは数値であり、それが「8011」であると仮定し、ビデオは rootVideoa500325c723649ddb75eda10635edf82 の下の「8011.mp4」に保存されます。ここで、「8011.video_thum」は小さなビデオのサムネイルです。
3.2.5 音声
友人のチャット記録テーブルで、Chat_ a500325c723649ddb75eda10635edf82 テーブルであると仮定すると、フィールド Type が 34 の場合、情報は音声フラグメントです。 MesLocalID フィールドは数値、たとえば「8938」で、ビデオは rootAudioa500325c723649ddb75eda10635edf82 の「8938.aud」に保存されます。
AUD ファイルは、実際にはヘッダー情報のない AMR ファイルです。AMR ファイルになるには、ファイルヘッダーに「#!AMR」を追加する必要があります。そうすれば、再生ソフトウェアで開くことができます。 AMR を再生できるソフトウェアは比較的少なく、現在再生できるのは QQ Video のみです)。
AUD を AMR に変換するコンソール コマンド: copy head.txt/b + 476.aud/b 476.amr、head.txt の内容は「#!AMR」です。
このプログラムは、FFmpeg が提供するツールを呼び出して、再生用に WAV ファイルに変換します。これは、多くのオーディオおよびビデオ形式を再生および変換できる非常に強力なソフトウェアです。
3.2.6 共有リンク
友人のチャット記録テーブルで、Chat_ a500325c723649ddb75eda10635edf82 テーブルであると仮定すると、フィールド Type が 49 の場合、情報はメッセージ フィールド < の共有リンクです。 ;url> リンクアドレスは の間にあります。
3.2.7 位置
友人のチャット記録テーブルで、Chat_ a500325c723649ddb75eda10635edf82テーブルであると仮定すると、フィールドTypeが48の場合、情報は非リアルタイム位置情報であり、この情報の XML 構造内の座標: msg –> location –> 位置座標は x フィールドと y フィールドに格納されます。
3.2.8 アニメーション顔文字
友人のチャット記録テーブルで、Chat_ a500325c723649ddb75eda10635edf82 テーブルであると仮定すると、フィールド Type が 47 の場合、情報はアニメーション顔文字です。この情報の XML 構造: msg –> emoji –> 絵文字の md5 値が d0546d1d8940bf82def5cc8b19185e1a であると仮定すると、それは iPhone WeChat のファイル ディレクトリにあります。 Library/WechatPrivate/emoticon1 には、d0546d1d8940bf82def5cc8b19185e1a.pic など、ファイル名として MD5 値を持つファイルが保存されています。実際には、これは GIF ファイルであるため、絵文字に接続できます。
3.2.9 名刺
友人のチャットレコードテーブルで、Chat_ a500325c723649ddb75eda10635edf82 テーブルであると仮定すると、フィールド Type が 42 の場合、情報は名刺であり、次の XML 構造になります。情報: msg WeChat ID は –> ユーザー名フィールドに格納され、WeChat 名は msg –> ニックネームフィールドに格納されます。
3.2.10 音声通話、ビデオ通話
友人のチャット記録テーブルで、Chat_ a500325c723649ddb75eda10635edf82 テーブルであると仮定すると、フィールド Type が 50 の場合、情報は電話記録です。中には期間情報があります:
このソフトウェアは最初は比較的安定していますが、まだ多くのバグと必要な領域がたくさんあります。改善します、皆さん慈悲を持ってください。以下のリンクはプログラムファイルと WeChat チャット記録の例です。この記事が完成した時点でのバージョンは 1.0.1.6 でした。最新バージョンについては、ソース コード ライブラリのホームページを参照してください。
ソフトウェアのダウンロード:
WechatHistory.zip (45.1 MB)
WeChat チャット記録の例 (iOS 用 WeChat によって生成):
History_Example.zip (14. 5MB)
このソフトウェアにはすべての公式アニメーション顔文字 (2015 年 3 月 18 日より前にリリースされたもの) が含まれているため、サイズは約 90MB です。アニメーション顔文字はチャット履歴の中で最も重要なコンテンツではない可能性があるため、この部分のデータは含まれていません。上記のファイルのダウンロード リンクで、必要なユーザーはこれらのアニメーション絵文字を個別にダウンロードできます:
WeChatHistory.Sticker_Gallery.ALL.Updated_By_20150318.zip.001 (48.0 MB)
WeChatHistory.Sticker_Gallery.ALL.Updated_By_20150318。 zip.002 ( 42.3 MB )
ダウンロード後、解凍し、「emoticon1」フォルダをWechatHistoryフォルダに上書きコピーしてください。
正式リリースに伴い、さらに多くの公式絵文字が公開されます。詳細については、以下の「ソースコードダウンロード」ページからダウンロードしてください:
WeChatHistory.Sticker_Gallery_Patch.SpongeBob2。 (1.41 MB)
WeChatHistory.Sticker_Gallery_Patch.LuoXiaoHei.zip (1.02 MB)
このソフトウェアは .Net Framework 4.0 を使用しているため、このソフトウェアを使用する前にランタイム ライブラリをインストールする必要があります:
www。 microsoft.com/zh-cn/download/details.aspx?id=17718 または直接ダウンロードします:
download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36 -D6EA96C8DAAE /dotNetFx40_Full_x86_x64.exe (48.1 MB)
ソフトウェアにバックドアがあり、全員の個人情報を収集しようとしているのではないかと心配な場合は、ソース コードを直接ダウンロードし、自分でチェックしてコンパイルして使用することができます:
ソースコードのダウンロード: github .com/cxun/WeChatHistory
開発ツール: Microsoft Visual Studio 2012
プログラミング言語: C#
.Net バージョン: .Net Framework 4.0
iPhone からすべてのチャット履歴をコンピュータのハードドライブにコピーし、このソフトウェアを使用して通常どおり表示しようとした後、iPhone からデータを削除して空き容量を増やすことができます。チャット記録は最も容量を占めます: ビデオと写真: 削除するには 2 つの方法があります:
WeChat の [設定] --> [一般] で、WeChat 独自のクリーニング機能を使用します。 --> 「WeChat ストレージ スペースのクリーンアップ」では、選択的に削除できます
利点: 便利、直感的、効率的、選択的に削除できます (友達、サムネイルを選択)
欠点: 削除後、 iPhone のチャット ウィンドウで削除された写真またはビデオをクリックすると、「写真を読み込めません」、「ビデオの有効期限が切れたか、クリアされました」というメッセージが表示され、復元できません
5.2 手動クリーンアップ
Windows の iTools などのツールを使用して WeChat ディレクトリを開き、WeChat が写真 (Img) とビデオ (Video) を保存するディレクトリを見つけます (例:
/Documents/06af9525a11ebb4f49ec72be6 ) d165d10/Img
/Documents/06af9525a11ebb4f49ec72be6d165d10/Video
これら 2 つのフォルダー内のコンテンツをすべて削除してください。ここには、MD5 値で名前が付けられた多くのフォルダーが表示されます。それぞれが友達またはグループを表し、友達とのチャットの写真やビデオが保存されています。
利点: 削除後、iPhone のチャット ウィンドウで削除された写真またはビデオをクリックすると、WeChat がサーバーから自動的に再ダウンロードするため、携帯電話で再度表示できます
短所: 操作が煩雑で直感的ではなく、選択的に削除できない(友人を肉眼でMD5値と照合することはできない)
上記の2つの方法にはそれぞれ長所と短所がありますどの方法を選択しても、次回チャット記録をエクスポートするときに、最後にエクスポートしたチャット履歴を直接コピーして上書きすることができます (心配な場合、またはハードディスクの空き容量がある場合、または完全性強迫性障害の患者の場合は、上書きせずに新しいフォルダーに保存することを選択できます)。
6. 結論
最後に、このソフトウェアが皆様に利便性をもたらすことを願っています。同時に、Tencent の WeChat チームが将来の WeChat バージョンでデータベースを暗号化しないことを願っています。完全に無効です。暗号化が本当に必要な場合は、データのエクスポートと表示をサポートし、大多数の WeChat ユーザーにとって便利になる、より便利な WeChat チャット履歴マネージャーを Tencent が開発できることを願っています。以上がiOS 用 WeChat チャット履歴ビューアの詳細な手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。