APK ファイル (や一部の jar ファイル) において利用される「署名」の内部仕様について解説し,およびアルゴリズム的に OpenSSL 等を利用して自力で署名をおこなってみる。誰得企画であるが,せっかく調査した (そして署名つき JAR ファイルの仕様のひどさに吃驚した) のでメモとして残しておく。 はじめにざっくりいうと,APK ファイルの署名の仕様は Java における JAR ファイルの署名 (のサブセット) に独自仕様を追加したものである。 build/tools/signapk/SignApk.java を読むのが一番わかりやすい。 以下のサンプルでは build/target/product/security/ に存在する testkey.pk8 と testkey.x509.pem*1 を署名用鍵・証明書として利用する。 testkey.pk8RSA 秘密鍵 (の PK
Androidアプリケーションを配布する場合は何らかの形で署名されており、デバッグ版であればDEBUG KEYが、リリース版であればRELEASE KEYが利用されます。これら署名に基づいて、AndroidのOS側でインストールや更新確認が行われます。 今回は、Androidアプリケーションの自己署名をアプリ自身で検証(Verify)する方法を紹介します。 以下に紹介する内容は仕組みは簡単で完全ではありませんが、改ざん、再署名による二次配布対策として、カジュアルなアプリケーション改ざんには非常に有用な手段です。 署名の検証以外にも意図しない使い方を防ぐ方法はいくつかあり、パーミッションの変更検出などがあります。 Androidアプリケーションのパーミッション改竄を検知するスニペット via @sys1yagi パーミッションに関しては、sys1yagiさんのサイトが詳しいのでそちらを参考に
昨年の12月28日頃発売になりました、Android Security本ですが、おかげさまで好調な売れ行きらしく、もうすぐ増刷するよなんて連絡を出版社さんから頂きました。 ご購入頂いた方ありがとうございました。 申し訳ないことなのですが、テストはしたものの、バグが見つかっております。 バグ一覧に関しては、インプレスさんの方に一覧としてアップされておりますので、ご確認ください。(ソースコード中に半角スペースが抜けているのがほとんどです。本でソースコードのバグとは!) バグ報告を頂いた方ありがとうございます。バグを発見した場合は、@tao_gakuあたりまでご連絡頂けると幸いです。(公式にはインプレスさんなんでしょうが…) バグにつきましては、次回バージョンアップ時(増刷時)に修正されます。既にご購入頂いた方には非常に心苦しいです。このあたりソフトと違うとつくづく感じました。やっぱりハードに近
テックブログをスタートしました! こんにちは!HRの松岡です。 今回はタイトルの通りランチェスターで「テックブログ」を開始しました。 実は、2年...
ある Activityからアプリケーションを終了しようとした場合、別の Activityが起動してあったりするとうまくいかなかったりします。 この場合、BroadcastRecieverを使えば、自分のアプリの Activityだけを終了させることができます。 ただ、BroadcastRecieverは外部アプリケーションからの Broadcastも受信できてしまうので、今回のケースのようなアプリケーション内で完結するような Broadcastの場合は LocalBroadcastManagerを使用したほうがよいです。 LocalBroadcastManager | Android Developers LocalBroadcastManagerを使うことで、アプリケーション内で完結する Broadcastを送信したり、アプリケーション内でのみ動作する BroadcatRecieverを
ViewPagerを使うとページ送りを簡単に実装することが出来ます。 ViewPagerは左右にページ送りできます。またアニメーションがつくので非常にわかりやすく、直感的なUIを提供できる機能です。 便利な機能ですが、2011/9/29時点ではAndroid SDKに含まれておらず、Android Compatibility package, revision 3(外部ライブラリー)として提供されています。 今回は、この外部ライブラリーの追加から実際のサンプルコードが動作するまでを紹介します。ポイントは次の2点です。 外部ライブラリ「Android Compatibility package, revision 3」の導入 ViewPagerをつかうためにはPagerAdapterが必要 ごく簡単に言えば、ViewPagerは入れ物です。表示する内容(ギャラリーアプリであれば写真、動画など
サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
This is the drawing service you can draw to biggest area in the world. You can see the images as a bird's eye view of Google Maps.English:Sorry, you can not use our service with your Flash Player Japanese:申し訳ございませんが、お使いのブラウザに組み込まれているFlash Playerではご利用いただけません。 English:Please install latest Flash player here. Japanese:Adobeのサイトから最近のFlash Playerをインストールしてください。
仕事でtrixboxProを触っていると、Linuxコマンドのwgetを良く使うけど、実はMACにwgetコマンドはありません。 ついつい、クセでifconfigとipconfigを打ち間違えるように、wgetをMACで使ってしまいエラーがでて???って状態で混乱するときがしばしば。 端っからcurlを使えば良いのですが、ターミナルがデスクトップにウジャウジャしているときに、頭を使うのが面倒なのでwgetをインストール。 ftp://ftp.gnu.org/pub/gnu/wget/ から最新版をダウンロードしてきます。 どう見てもバージョンと更新日がおかしいような気がするので、一応バージョンの一番新しいのをダウンロード。 curl -O ftp://ftp.gnu.org/pub/gnu/wget/wget-1.9.tar.gz んでもって、保存したwget-*.tar.gzを解凍してイ
wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい
wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く