@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

adb backup で Android 端末のバックアップを作成する(13)

Androidデバイスの内蔵ストレージとSDカードのデータをバックするのに、adb backup -shared オプションを使わずとも、PC に USB ケーブルで MTP(Media Transfer Protocol) モードで接続すれば Windows 上のエクスプローラから簡単にアクセスすることができます。

USBデバイスの接続モードには幾つか種類がありますが、Mass Storage Class で接続すると内蔵ストレージにはアクセスできません。SDカードについて論理ドライブが割り当てられてアクセスできます。

Wikiの記述によると、Android は API Level 12 から MTP がサポートされているようで、手元の 4.4.2 でも(もちろん)MTP での接続が可能です。*1

 

MTPモードで接続した場合、エクスプローラからはアクセス可能になりますが、論理ドライブを割り当てて robocopy などコマンドプロンプト経由でコピーするというのは難しそうです。少し検索してみたところでは、MTPモードで接続したデバイスを論理ドライブにマッピングする方法は発見できませんでした。 

下記 SANS の資料によると、MTP デバイス上のファイルを直接開いた場合、Windows 7 では Temp フォルダ配下に  WPDNSE フォルダが作成され、そこにファイルが一時的に置かれるようですが、手元の Windows 8.1 ではこの資料のような動作になっていませんでした。

USB Devices and Media Transfer Protocol

https://digital-forensics.sans.org/summit-archives/dfir14/USB_Devices_and_Media_Transfer_Protocol_Nicole_Ibrahim.pdf

 例えば PDF を開いた場合には下記フォルダに一時的なファイルが作成されていました。

C:\Users\port139\AppData\Local\Microsoft\Windows\INetCache\IE\PLO0Q839\1401.6444v1[1].pdf

いずれにしても、バックアップを取るという目的の場合には、直接ファイルを開くのではなく、ローカルへコピーを取ってから操作を行う事になるかとは思います。

エクスプローラ経由でファイルをコピーした場合、作成日時はコピーした日時になりますが、ファイルの最終更新日時は元ファイルの日付が維持されてコピーされます。(秒レベルまでの精度で、仮にそれ以下の精度のタイムスタンプ値がコピー元ファイルシステム側にはあったとしても、取ってこないと思いますが)

 

*1:デバイス側でUSBデバッグモードは事前に切っておく必要があります。