APK で使われている OpenSSL のバージョンを確認する


結構前に出したアプリに対してグーグル先生から警告メールが来た。
Google Play warning: You are using a vulnerable version of OpenSSL
ざっくり翻訳すると「あなたのアプリで使用されている OpenSSL のバージョンが古いから新しくしてくれ」という内容。
Adobe AIR を使用していたアプリだが、結構前のものなので完全に忘れていた。
まぁ普通に AIR のバージョンを上げればよさそうだが、今後何かで役に立つかもしれないので、今かき出されている APK で使われてる OpenSSL のバージョンがいくつだったのかを確認しておこうと思う。

メールにはやり方が書いてあった。さすがグーグル先生。

$ unzip -p YourApp.apk | strings | grep "OpenSSL"

なるほど。でも Windows 環境です先生。おとなしく Sygwin とか入れればいいけどめんどくさい。
ってことで、Windows 環境で Sygwin とか入れるのがめんどくさい人のためのやり方。

  1. APK は普通に ZIP 解凍できるので解凍する
  2. コマンドプロンプトで解凍したディレクトリに移動する
  3. 以下のコマンドを実行する
findstr /S OpenSSL *.so > result.txt

メールに書いてあったこととやっていることはあまり変わらないはず。
それで出来た result.txt の中身をテキストエディタでチェックすれば OpenSSL のバージョンがどこかにあると思う。(無かったら .so を *. とかにしたら出てくるかも)
その後 Adobe AIR のバージョンを上げた後、同じ方法で OpenSSL のバージョンを確認したら 1.0.2f になっていたので多分大丈夫なはず。

こうした方が分かりやすいとかあったら教えてください。