スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

GDD2010Tokyoで聞いたのLVL関連のちょっと応用編な話

GDD2010 LVLのセッションで聞いてきたことをうろ覚え+帰ってきて調べたことをつらつらとまとめます。

やっちゃだめなこと
・サンプルをまんま導入
・難読化していない
・NOT_LICENSEが返ってきてるのにアプリを終了しない
・テストをろくにしていない


※確かに・・・ダイアログ出しておいて、戻れるボタンで戻れたらお粗末ですね・・・


難読化に関してはProGuardがいいんじゃないかなとのこと。


GoogleCodeにコマンドラインで使えるのがあるそうです。
http://code.google.com/p/android-proguard-commandline/
※SDK7以上だけど、環境として?それともアプリも??は不明


おそらくこれが解説
Proguard, Android, and the Licensing Server
http://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html


7って・・・って人は、このブログの過去エントリに多分汎用的に使えるbuild.xmlがあるので、
そちらを使ってみてもいいと思う・・・というか、僕はそうしている
※ただ、Activity継承クラスとかは難読化されないようにしてあるので、難読化の程は・・・です。
※なので、重要な箇所は難読化される場所に配置するなど工夫が必要。



手を加えられるところ
・チェッカーとかバリデータ
・パッケージを変えるのも効果的。
・ライセンス認証などの処理を別スレッドで行うのもよい。
・レスポンスコードなんかをハッシュ化してしまうのもよい。
・switchをifにするのもいいんじゃないかな。


Policyインターフェースなどでやり取りしているところを値なんかを渡すようにするのもよい。
モジュール毎ごっそり変えられたりするからね。
というか、複数のPolicyを使うことなんてないから、IFを廃止してしまってもよいと思う。


onCreateなんかだと難読化対象に出来ない(するわけにいかない?)ので、ここでの処理は避ける。
ダイアログなんかをだして終了させる場合なんかも、別アクティビティから出すようにしたほうがよい
(Activityを終了して別Activityで非ライセンス時の処理をしたほうがよいって感じか)


また、リリースごとにちょっとずつでもソースをかえるのも効果的。
大きく変える必要はない。


きっと今日話したような事はこっちに書いてあると思う
http://android-developers.blogspot.com/2010/09/securing-android-lvl-applications.html
関連記事

コメントの投稿

非公開コメント

スポンサードリンク
アプリ一覧
最新記事
最新コメント
最新トラックバック
検索フォーム
月別アーカイブ
カテゴリ
RSSリンクの表示
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。