不自由な電子書籍の自由化の自動化

経緯

昔、不自由な電子書籍(単独アプリのタイプ,数百ページ)を、iPadで1枚1枚スクリーンショットを撮って自由なpngにした後にPDFにしたことがあった。スクリーンショットを撮ってページを送ってというのを延々と繰り返していた。
アニメ見ながら無心で作業するとかなら案外なんとかなる。まああまりやりたくないですね。

現状

iOS/Android電子書籍系アプリというのは、だいたいDRMがついてて、フリックで次のページに移動して、スクリーンショットは普通に取れるという感じではないかと思う。*1*2
スクリーンショットの撮影を自動化すると、様々なアプリで汎用的に利用でき、法的にも問題なく良いのではという気がしたので、Androidでの実現性について調べた。

なお、スクリーンショットを封じていたWindows電子書籍ソフトウェアスクリーンショットを、無理矢理撮影するソフトウェアの製造で逮捕された事例が存在する。
技術的保護手段の回避がどこまで適応されるのかはわからないが、普通にスクリーンショットを撮影できるアプリならば大丈夫なのでは。 http://www.itmedia.co.jp/news/articles/1402/20/news045.html

方法

これを実現するためには、

調査の結果root権限が無くとも、adbが利用できれば両者を実行できることがわかった。

  • adb shell screencap -p /sdcard/sc.png
  • adb shell input touchscreen swipe 500 500 1000 500
    の2つを用いて、目的の操作が可能なことを確認した。(isai LGL22 Kitkat)
    コマンドの実体は端末の/system/bin/ にあるので、adb shellの権限で適当に叩けばよさそう。

iOSでやろうとするとJailbrokenなデバイスでなんかやるんですかね(適当)

問題点

当然、スクリーンショットで自由化する問題点が引き継がれる。

結論

DRMが死んでほしい

*1:AndroidだとFLAG_SECUREが付いてるとadb経由でのスクリーンショットも含め阻止できるようだった。

*2:ただしKindleなどの自分が使っているアプリでは普通に撮れるので、設定されていない模様