2011年12月26日

Android アプリ「AppNetBlocker」を公開しました

はてなブックマークに登録

(2015年5月追記)
この記事に掲載の「AppNetBlocker」は Android 5.0 以降の環境では正しく動作しません。記録としてアプリ本体へのリンクは当面残しますが、コメント欄に何度か記載の通りこのアプリケーションの開発はすでに終了しており、今後改訂を行う予定はありません。ご了承下さい。

以前から自分自身がほしいと思っていた Android アプリが形になったためマーケットで公開しました。 今回はそのアプリ、「AppNetBlocker」をご紹介します。

AppNetBlocker は、所定のアプリから「完全なインターネットアクセス」の許可を除去するツールです。実行に root 権限は必要ありません。Android 1.6 以上の環境で動作します。興味のある方はご利用下さい。もちろん無料です。

(2011/12/26 追記)
本アプリは、現時点では安全面において不安要素の少なくない Android をめぐる状況において Android 利用者が自分自身を守るためにとり得る対策のひとつを形にしたものであり、他者の権利を脅かすことを目的とするものではありません。
もし、Android を今よりもさらに安全に利用することが可能となればより多くの利用者・開発者の利益につながることでしょう。本アプリはたとえ僅かでもその一助になればと手がけたものであり、開発の動機もそこにあります。
しかしながら、一部の方から本アプリと Android マーケット規約とのかねあいを懸念するご指摘がありました。その話題については判断の余地があるものと認識していますが、少なくとも利用者の不安を誘引することはまったく本意ではなく、マーケットでの配布という形態は一時中断することとします。

実験用のいわゆる「野良アプリ」として apk のダウンロードリンクを当面残しておきます。このリンクから端末へ直接インストールすることはできません。意図を理解される方のみ自己責任でご利用下さい。

  
[ AppNetBlocker.apk ]
md5sum [CC8104C9DDE44AD308F09FF22B551575]

AppNetBlocker とは?

Android 端末上のデータを狙うマルウェアの問題が取り沙汰されていることもあり、アプリに付与された「許可」の内容は何かと気になります。 特に、それがネットワークアプリやバナー広告を表示するアプリではなく、また、機能面でインターネットへのアクセスが必須とは考えにくい内容のアプリであるにもかかわらず「完全なインターネットアクセス」許可を持っている場合は悩ましいですね。 そんな時には AppNetBlocker が役に立つかもしれません。

AppNetBlocker は、インストールずみのアプリから「完全なインターネットアクセス」の許可を除去した apk ファイルを生成します。オリジナルのアプリをアンインストールしてこの加工ずみ apk から再インストールすれば、そのアプリはインターネットアクセス不可になるというわけです。このようにして気がかりなアプリをインターネットから遮断することができます。また、アプリの元のパッケージは自動的にバックアップされ、必要な時に差し戻すことができます。

使い方

AppNetBlocker の使い方は簡単です。操作は以下の要領で行います。

  • AppNetBlocker を起動すると、端末にインストールされたユーザアプリのうち、インターネット許可の付与されたアプリの一覧が表示されます。

  • 白い文字のエントリは AppNetBlocker による処理を適用していないアプリ、黄文字のエントリは処理ずみのアプリ、灰色のエントリは処理対象外のアプリであることを示します。

  • 白いエントリをタップすると、インストールずみアプリのパッケージを SD カードへバックアップした上で、専用 apk の生成を開始します。apk の生成後、インストールずみのアプリのアンインストールと加工ずみ apk を使った再インストール処理へ移行します。

  • 黄色のエントリをタップすると、加工ずみアプリのアンインストールと、バックアップしたオリジナルの apk による再インストール処理へ移行します。

  • 各エントリを長押しするとそのアプリを実行したりパッケージの情報を参照することができます。

例として、所定のアプリケーションからインターネット許可を取り除く操作の様子を以下に示します。


注意事項

AppNetBlocker の使用に際しては以下の点にご注意下さい。

  • AppNetBlocker が生成した加工ずみ apk を 決して 端末の外へ持ち出さないで下さい。加工ずみ apk はあなたの責任であなた自身の端末だけで使用して下さい。

  • AppNetBlocker はあなたの指定したアプリのアンインストールをあなたに促します。一般に、Andorid のアンインストーラはアプリとアプリの保存データの両方を削除します。そのため、再インストールしたアプリは以前のデータを引き継ぎません。

  • AppNetBlocker は生成したパッケージに独自の証明書で署名を行います。そのため、アプリに正規のアップデートを適用したい場合はオリジナルのアプリをインストールし直す必要があります。

  • アプリケーションの中にはインターネット許可なしでは正常に動作しないものがあります。

  • AppNetBlocker は以下のアプリを処理しません。
    • システムディレクトリにインストールされたシステムアプリやプリインストールアプリ
    • 有料アプリなどコピー防止対策の施されたアプリ
    • SD カード上に配置されたアプリ(端末本体へ移動すれば処理可能)

中でやっていること

ご参考に、AppNetBlocker 内部の処理手順をざっくりまとめてみます。興味のある方はご覧下さい。

  • 起動時に外部ストレージ(通常は SD カード)への書き込み可否をチェック 〜 NG なら終了
  • インストールずみのユーザアプリのうち、以下に該当するものをピックアップしてリスト表示
    • 「完全なインターネットアクセス」許可を持つアプリ
    • AppNetBlocker によって加工ずみのアプリ
  • アプリケーションリスト上の所定のアイテムがタップされると以下を実施
    1. 端末設定の「提供元不明のアプリ」オプションが有効でなければ設定を促す
    2. タップされたアプリが処理対象かつ未加工なら以下を実施
      1. 処理開始確認
      2. インストールずみの当該アプリの apk を [外部ストレージ]/AppNetBlocker/bkup/data/app 下へバックアップコピー。あわせて作業用にもコピー。
      3. 作業用 apk に含まれる バイナリ形式の AndroidManifest.xml から "android.permission.INTERNET" の記述箇所を削除
      4. 作業用 apk にダミーの署名を適用
      5. インテントを発行しインストールずみの元のアプリのアンインストール処理へ誘導
      6. インテントを発行し加工ずみ apk のインストール処理へ誘導
      7. アプリケーションリストを更新
    3. タップされたアプリが加工ずみなら以下を実施
      1. インテントを発行しインストールずみの加工ずみアプリのアンインストール処理へ誘導
      2. 当該アプリのバックアップ apk が存在すればインテントを発行して再インストール処理へ誘導
      3. アプリケーションリストを更新
    4. タップされたアプリが処理対象外ならその旨を表示してリストへ戻る
  • アプリケーションリスト上の所定のアイテムが長押しされると処理選択ダイアログを表示
    以下略

(tanabe)
klab_gijutsu2 at 10:00│Comments(33)TrackBack(0)Android | win

トラックバックURL

この記事へのコメント

1. Posted by きの   2012年01月17日 16:39
4 知り合いからこのアプリのことを教えてもらって、是非つかわせていただきたいのですが、何度タップしてもダウンロード失敗になってしまいます。提供元不明アプリのダウンロード設定はできてるのですが、何か原因わからないでしょうか?こんなに良いアプリがあるのに使えないのが悔しくて
2. Posted by tanabe   2012年01月17日 16:52
きのさん、こんにちは。記事にも書いていますが、apk へのリンクは Android 端末から直接アクセスされることを想定しておりません。いったん PC 上でダウンロードするなど他の方法をお試し下さい。
3. Posted by きの   2012年01月20日 01:25
返信ありがとうございます。わかりました、ありがとうございます!
4. Posted by しの   2012年02月10日 00:45
インストール後、最初の起動画面で、"はじめに" のポップアップが終了しません。どうしたらいいのでしょうか?
5. Posted by tanabe   2012年02月10日 01:25
SDカード上に /AppNetBlocker/bkup/pref/pref.txt の名前で空のファイルを作成した上で実行してみて下さい。ご指摘の挙動は初期処理の不具合によるものと思われますが現時点で本アプリ改修の予定はなく、その方法で効果の見られない場合は残念ですが使用を中止して下さい。
6. Posted by しの   2012年02月10日 06:56
返信ありがとうございます。ファイルの作成試したところ変わりありませんでした。残念ですが、あきらめます。ありがとうございました。
7. Posted by りゅー   2012年03月26日 01:16
パソコンからダウンロードした場合、それを端末に入れるのはどうすればいいのですか?
8. Posted by tanabe   2012年03月26日 07:03
方法はいくつかありますが SD カードを使うのがわかりやすいのではないでしょうか。
9. Posted by ゆう   2012年04月09日 22:15
はじめまして
ダウンロードさせていただいたのですが
実行しようとすると解析エラーと出て開けませんでした
機種によっては使用できないのでしょうか?
自分の使ってるのはxperiaacroHDです
よろしくお願いします
10. Posted by tanabe   2012年04月09日 22:42
こんにちは。本アプリは端末のCPUがARM系でなければ動作しませんが、特定の機種に依存する要素を作りの上で意図的に含めてはいません。まずはダウンロードしたパッケージのmd5sumをご確認下さい。もしmd5sumが正しくかつ期待通りに動作しない場合は何らかの未知の原因によるものと考えられます。
11. Posted by ゆう   2012年04月13日 01:38
早速の回答ありがとうございます。
md5sumの確認とは具体的にどのようにすればよいのでしょうか?
12. Posted by tanabe   2012年04月13日 04:46
ご自身で調べて下さい。正しい値は記事に書いた通りです。
13. Posted by ハル   2012年04月15日 22:13
DLアプリの通信するものの大半が悪意のあるものに思えていましたが、このアプリのおかげで多少なりとも安心して使えるようになりました。
正常に動作しています。
機種:102SH
14. Posted by ゆう   2012年04月16日 00:10
無事、自己解決できました。
お騒がせしてすみません。
問題なく動作し、使わせていただいてます。ありがとうございました。
15. Posted by 錦蛇   2012年04月28日 16:53
4 はじめまして、お世話になります。
PCに,このHPからのAppNetBlocker.apkダウンロードし,LhaplusにてZIP解凍したのですが、AppNetBlocker.apkが全く見当たりません。どのようにしたら良いのでしょうか?
16. Posted by tanabe   2012年04月29日 00:11
こんにちは。apk は zip フォーマットではありますが、それ自体が Android 用のインストール形式であるため事前に解凍する必要はありません。このあたりは本アプリ固有の話題でもありませんので、ぜひご自身で調査なさって下さい。
17. Posted by xiaomiho   2012年05月15日 13:12
はじめまして。これとは逆でインターネット接続のみ本来必要で、なのに何故か電話機能やGPS等の利用要求の有るアプリが結構あります。こういうものの対応のため、実行時に付与権限を選択して処理するようにできませんでしょうか。
18. Posted by tanabe   2012年05月15日 13:18
こんにちは。今のところ本アプリ改修の予定はありません。ご了承下さい。
19. Posted by kel   2012年05月27日 14:03
4 SO-02Dを使っています。このアプリケーションは便利なのですが…導入後すぐは使えるのですけどばらくすると、アプリケーションの再ダウンロードすることが出来ません…。インストールのボタンが押せなくなってしまいます…。おそらく、端末側でブロックがかかってまうのでしょうか?初期化すれば使えるようになるのですが…またしばらくすると使えなくなります…。便利なだけに使えないのが悲しいです…。どうにかなりませんか??
ちなみにT-01Cではちゃんと使えています。
20. Posted by tanabe   2012年05月28日 08:50
こんにちは。
>導入後すぐは使えるのですけどばらくすると、アプリケーションの再ダウンロードすることが出来ません…。

残念ですが文意を汲むことができずにいます。いずれにせよこちらに何かできることはないようにも思われますが、これは何をどのように操作する際の話題でしょう?
21. Posted by qaz   2013年02月18日 20:28
SDカードにインストールしてインストール画面まではたどり着いたのですが、インストールボタンが押せません。
どうしたらよろしいのでしょうか
キャンセルボタンは反応します
22. Posted by tanabe   2013年02月18日 20:48
こんにちは。本アプリ自体に特に思い当たる点はないのですが、似た話題の記事を見かけました。 http://oshiete.goo.ne.jp/qa/7490802.html お手元での該当・効果の有無はわかりませんがご参考にお知らせします。

23. Posted by はぐれもの   2013年02月25日 06:16
>qazさん
インストールボタンが押せない、でググって見て下さい。
たぶん、他のアプリが邪魔しているだけです。
24. Posted by やなさん   2013年06月18日 09:28
appnetblocker便利に使わせていただいておりましたが、SB motorola 201Mのヴァージョンアップ4.0→4.1になったら全く機能しなくなってしまいました。アンインストールし再インストールしましたがNGです。何か有効になる方法があればご教授下さい。
25. Posted by tanabe   2013年06月18日 09:39
こんにちは。コメントを拝見しました。本アプリの開発そのものはすでに終了していますが、現在のところ関連する情報がなく回避策の有無も不明です。残念ですがご了承下さい。
26. Posted by やなさん   2013年06月26日 20:49
5 ありがとうございました。機種変更しましたのでリトライします。
27. Posted by tanabe   2014年01月09日 08:51
ちゅんさん、残念ですがご希望には添いかねます。ご了承下さい。
28. Posted by 山田   2014年03月14日 23:52
通信を遮断するのもありだと思いますが、ぜひ個人情報へのアクセス権を消すのも作ってください。
29. Posted by tanabe   2014年03月14日 23:59
ご提案をありがとうございます。今後の参考とさせて頂きます。
30. Posted by kiyono   2014年05月21日 02:21
このようなアプリを探していました。開発していただきありがとうございます。ただ、残念ながら実行できていません。
上記の図 4(処理予告) までは順調に進みましたが、加工済みパッケージを再インストールしようとすると、パッケージインストーラと「確認してインストール」の選択画面が出て、確認してインストールを選ぶと「パッケージの解析中に問題が発生しました」となり、再インストールができません。2種類のスケジュールカレンダーアプリで試しましたが、どちらも同じ結果でした。
2種とも「有料アプリなどコピー防止対策の施されたアプリ」にあたるのでしょうか?どうしても使いたいアプリなだけに諦めきれず・・・
31. Posted by tanabe   2014年05月21日 03:14
こんにちは。ネットを検索して得られる一般的な情報が参考になるかもしれません。
https://www.google.co.jp/#q=Google%E8%A8%AD%E5%AE%9A+%E8%A7%A3%E6%9E%90%E3%82%A8%E3%83%A9%E3%83%BC
一般的な対応で状況に変化が見られない場合は当アプリに潜在する何らかの不具合である可能性がありますが、この欄でも何度か触れていますように当アプリの開発はすでに終了しています。ご了承下さい。
32. Posted by kiyono   2014年05月21日 22:37
ご教授ありがとうございます。再度挑戦してみます。
33. Posted by tanabe   2015年11月22日 15:53
mug さん、コメントを拝見しました。誤解をされているようですが、このアプリケーションの目的は記事本文に書いた通りで、ご質問内容のような使い方は想定していませんし、またそのような使い方はお勧めしません。あしからずご了承願います。

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント