忍者ブログ

2007/03/04開始。ソフトウェア管理やDelerer SEの作者であるおにぎりくんの試行錯誤の記録です。
2024
前の月へ 10 : 123456789101112131415161718192021222324252627282930 : 12 次の月へ
1  2  3  4  5  6  7  8  9  10 
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

http://kanatoko.wordpress.com/2011/01/21/androidアプリケーションのリバースエンジニアリング/

Androidアプリの逆アセンブルはこんなに簡単なのか!
商用アプリはどうやってロックをかけてるんだろう。

思いつく案:
・共有ライブラリ(.so)を本体とする
・アプリをSDカードにコピーできないようにする
・難読化を施す

共有ライブラリに持っていけば、あとはC言語であれこれ対策できそうな。ハッカーさんに掛かれば、どんなアプリも解読されてしまうのだけれども、ふつうの開発者には解読できないってレベルにするのが必要だと思う。
PR
いろいろな機種の写真解像度・プレビュー画像解像度を調査した人を発見。
以下の機種について記載されていました。
  • Desire
  • DesireHD
  • HT-03A
  • Xperia
  • Galaxy S
  • Galaxy Tab
  • IS03
  • Nexus One
  • Nexus S
  • HTC EVO4
  • Motorola Milestone
自転車で通勤しましょ♪ブログ
http://319ring.net/blog/android_camera_supportedpicturesizes
(2010/11/30の記事です)

Fragmentの勉強をそろそろ始めたいなぁ、と思っていたところに!
イイモンメッケ!!

第3回名古屋android勉強会 Fragment基礎講座/ハンズオン を行ったよ。
http://y-anz-m.blogspot.com/2011/12/3android-fragment.html

そろそろFragment使えるようになりたいので、資料にそってプロジェクト作成まで実施。
あー時間が足りないです。
これは全部やるのに一ヶ月くらいかかりそうな予感。
がんばろう。

Androidでセキュリティってあんまりピンと来ない。
一般的には、「変なアプリを入れるな」ぐらいにしか言われていないけど、開発者としては何をすべきなんだろう。

こういうとこ読んで勉強。。。
http://codezine.jp/article/detail/6285
http://codezine.jp/article/detail/6286

指定された時間後に処理を行うには、Handler#sendMessageDelayedを利用できます。

Handler#sendMessageDelayed
http://developer.android.com/reference/android/os/Handler.html#sendMessageDelayed%28android.os.Message,%20long%29

時間はミリ秒で指定できます。
handler.sendMessageDelayed(handler.obtainMessage(what, arg1, arg2), timeout);
みたいな使い方ができるのかな。
リファレンスを見ると、タイムアウトや定期的処理(タイマー)などの時間ベースの処理を実装するのに使えるとあります。メッセージループを使うため精度は高くないかもしれませんが、ハンドラにはそれに変わるいいところがあります。

ハンドラのいいところは、ハンドラを生成したスレッド(メッセージキューを持っている必要あり)で処理が行われることです。Handler#handleMessage()をオーバーライドして処理を記述するなら、そこでの処理はハンドラを生成したスレッドで実施されます。別のスレッドを立ち上げたくない、メインスレッドで画面描画させたいときに活躍します。

たとえばスレッドの処理時間を制限するハンドラを作るとしたら・・・?

/** 指定されたスレッドが2秒以上処理していたら、その場で死なすハンドラ */
public class ThreadLimitHandler extends Handler {
  /** タイムアウト時間(ミリ秒):値2秒 */
  public static final int TIMEOUT = 2000;
  /** 監視対象のスレッド */
  private Thread thread;
  /** コンストラクタ */
  public ThreadLimitHandler(Thread th){
    this.thread = th;
  }
  /** メッセージの処理 */
  public void handleMessage(Message mes){
    //  スレッドが生きているか確認
    if(thread!=null){
      if(thread.isAlive()){
        // 生きていれば、死なす。どんな手段を使ってでも。
        thread.interupt();
      }
    }
  }
  /** 2秒制約つきでスレッドを起動する */
  public void startThread(){
    if(thread!=null){
      thread.start();
      this.sendEmptyMessageDelayed(0, TIMEOUT);
    }
  }
}
#OS再インストールして開発環境未構築のため、動作確認してません。
スポンサード・リンク
フリーソフト指向::開発日記 by LapisCactus
忍者ブログ | [PR]

今日の聖書
自己紹介
名前:
LapisCactus (おにぎりくん)
Twitter:
Mail:
onigirikun_hsp@hotmail.com
自己紹介:
ふつうのしすてむえんじにあ。
趣味で「ソフトウェア管理」や
「TextView」を作っています。
仕事でもコンピュータを触っているのに
趣味も同じという。
健康に悪いですね。
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログ内検索
最新CM
[03/03 kusakari]
[11/12 おにぎりくん]
[11/08 れい]
アクセス解析