Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

20221128

https://espio999.tumblr.com/post/95346004813/%E8%B2%A7%E4%B9%8F%E3%81%AB%E3%81%AF%E4%BA%8C%E9%80%9A%E3%82%8A%E3%81%82%E3%82%8B%E6%9A%97%E3%81%84%E8%B2%A7%E4%B9%8F%E3%81%A8%E6%98%8E%E3%82%8B%E3%81%84%E8%B2%A7%E4%B9%8F%E3%81%86%E3%81%A1%E3%81%AF%E6%98%8E%E3%82%8B%E3%81%84%E8%B2%A7%E4%B9%8F%E3%81%A0%E3%81%8B%E3%82%89%E3%82%88%E3%81%8B%E3%81%9D%E3%82%8C%E3%82%82%E6%9C%80%E8%BF%91%E8%B2%A7%E4%B9%8F%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%A8%E9%81%95%E3%81%86
espio999.tumblr.com

続きを読む

DRMのセキュリティ・レベルを調べる - Widevine DRM、Androidの場合


オンライン動画再生の再生可否、再生解像度に影響を与える要素の一つがDRMだ。セキュリティ上、問題のないことを担保できる再生環境と認められた場合、高解像度での再生が許可される。そうではない場合、低解像度での再生を強いられるか、再生が許可されない場合もある。

この再生可否は、究極的にはDRMライセンス・サーバーを運用するプラットフォーマーの一存によって決まる。例えば、手許のスマートフォンDRM Info*1のようなアプリケーションを起動し、Widevine L1が出力されたからと言って、それが常に保証されるわけではない。後述するように、プラットフォーマーの一存によってセキュリティ・レベルが格下げされることもあるのだ。

とはいえ、次のような事柄は気になるところだ。

  • そのレベルは何を根拠に出力されているのか
  • 具体的にどのような環境であればよいのか

この投稿では、この疑問を解消するための方法、プログラムを紹介する。なお投稿中に掲載しているコードは、コード全体からの抜粋だ。投稿の読みやすさを考慮して、折り返し表示している。参照する場合は、適宜展開すること。コードの全文は投稿末尾に掲載している。

  • コンテンツ保護としてのDRM (Digital Rights Management)、そしてWidevine
  • DRMセキュリティ・レベルの調べ方 - Android端末の場合
    • 保護システム・レベルの確認
    • コンテンツ・タイプレベルの確認
  • 参照
  • コード全文
続きを読む

Androidアプリケーション(apkファイル)の中身を調べる

どうしたらこのようなプログラムができるのか?といった大袈裟なレベルではなく、この部分の判定、出力は何を根拠にしているのか?といった、分析や解析に至るまでには程遠いものの、

  • 単純に構造が知りたい
  • 処理構造が知りたい

といった探求心、好奇心が掻き立てられることがある。

オープンソースの隆盛により、GitHubなどでプログラムが公開され、簡単にそのような欲求は満たされる時代になりはしたものの、それですべてが解決できるわけではない。そのような領域の一つが、いわゆるアプリストアで提供されるアプリケーションだ。

この投稿では、Androidアプリ(apkファイル)について、その中身を「ある程度」調べるための手立てを紹介する。

  • 前提と予備知識
    • 用語
    • apkの中身*1
  • 単純に構造が知りたい場合
  • 処理構造が知りたい場合
続きを読む