Skype 4からメッセージ履歴をエクスポートします。*

アカウントを盗む可能性のあるSkypeの脆弱性に関するニュースを読んだ後、トピックに関するコメントや投稿を読んでいると、新しい情報に出会いました。バージョン4以降、Skypeはユーザーに関する情報をsqliteデータベースに保存します。 これにより、データベースからの情報を簡単かつ簡単に取得できるという考えに至りました。



データベース自体が発見されました-予想どおり、c:\ Users \ <Username> \ Application Data \ Skype \ <Skype Login> \フォルダで、そこにあるファイルのサイズから判断して、main.dbと名付けられました。



2番目のステップは、sqliteデータベースを操作する必要がないため、sqliteデータベースを操作するための便利なツールを見つけることでした。 最初に見つかったツール: SQLite Database Browser 、問題なく開かれ、データベースの内容が表示されました。



ただし、このツールには欠点もありました。BLOBなどのフィールドを操作できないこと、および手動で作成されたクエリの結果を外部ソースにアップロードできないことです。 したがって、2回目の検索を試みた後、 SQLite Managerという名前でFirefoxのアドオンを見つけ、後で使用しました。



データベースにはあまり多くのテーブルが含まれておらず、その名前は直感的であるため、適切な情報を見つけることは難しくありません。したがって、データベースに対して最も明白で有用なクエリのみを提供します。 これらは、SQLite Database Browserの[SQLの実行]タブ、またはSQLite Managerの[クエリの実行]タブから実行できます。



連絡先テーブルには、削除されてクライアントに表示されなくなった連絡先も含め、すべての連絡先が含まれます。



select skypename, fullname, given_displayname, birthday, case gender when 1 then '' when 2 then '' else ' ' end as "", case availability when 0 then '' when 8 then '  ' else '' end as "", strftime('%d.%m.%Y %H:%M:%S',lastonline_timestamp, 'unixepoch', 'localtime') as "    " from contacts
      
      







CallsテーブルとCallMembersテーブルには、それぞれコールとその参加者の履歴が含まれています。



 select calls.id as "ID ", coalesce(contacts.displayname, accounts.fullname) as "", strftime('%d.%m.%Y %H:%M:%S',calls.begin_timestamp, 'unixepoch', 'localtime') as " ", time(calls.duration, 'unixepoch') as "", callmembers.dispname as " ", strftime('%d.%m.%Y %H:%M:%S',callmembers.start_timestamp, 'unixepoch', 'localtime') as " ", time(callmembers.call_duration, 'unixepoch') as " " from calls inner join callmembers on calls.id = callmembers.call_db_id left join contacts on calls.host_identity = contacts.skypename left join accounts on calls.host_identity = accounts.skypename
      
      







最後に、会話およびメッセージテーブルには、連絡データとメッセージ自体が含まれています。



 select conversations.id as "ID ", conversations.displayname as " ", messages.from_dispname as " ", strftime('%d.%m.%Y %H:%M:%S',messages.timestamp, 'unixepoch', 'localtime') as " ", messages.body_xml as " " from conversations inner join messages on conversations.id = messages.convo_id order by messages.timestamp
      
      







記事の最後で、データベースのコンテンツ全体にアクセスするには、ファイル自体にアクセスするだけで十分です。データベースのコンテンツは暗号化または保護されていないため、Windowsプロファイルにアクセスできるユーザーは連絡先のリストを見つけることができます。通話履歴を表示し、すべての通信を読み取ります。



All Articles