つれづれなる備忘録

CTF関連の事やその他諸々

一応紹介しておきます

折角公開しているAndroidアプリについて触れないのは勿体無いので、一応紹介します。

公開順でいうと、 ・連打!開発者向けアカウント確認 ですね。

ちょっとここで暴露しちゃいますと、これらのアプリは友達のMineStudioさんのアプリを真似して作ったものなんです。 彼はまだ高校1年生ですが、遥かに高いスキルを持っていてとても追いつけませんorz でも、話を聞くとコンピュータ歴は私よりも年数的には浅いそうで(自分のほうが覚えがわるry)、ちょっと頑張ってみようかなぁという気にはなりました。 開発は最初は真似から入るって言うのも、悪くはないですよね。・・・ね?

ま、話は戻してアプリ紹介!

連打!

このアプリが何なのかというと、まあ連打するものですよね。 一応このFlashTouch(Beta)の動作を参考にさせてもらったので、どことなく画面が似ています。 開発者としては、これはactivityの遷移、アニメーションやプリファレンス、あとはオプションメニューとダイアログ、トーストの練習のためですね。

まあ図にあるとおり、ちゃんとタイマーの一時停止等々の処理もさせます。 モードは二つあり、制限時間内に何回叩けるかっていう「秒数制限」と、ある回数を何秒でたたけるかっていう「回数制限」です。 実際作るのはif文いじったり、インクリメントとディクリメントを逆にしたりするだけとか、たいしたことはしてませんw

一応ダウンロード数はやっと300は超えましたが、500には到底届きそうもないですねorz

次はこちら

開発者向けアカウント確認

これはAccountManagerを用いて、Android機本体に格納されているアカウント情報を持ってきて表示しようというものです。 アカウントの名前、タイプ、ハッシュ値は表示しますが、パスワードとかには一切触れてないのでご安心を(てか、/usr/systemの accounts.dbにあるらしいけど、rootとってないし非公開だしで俺には無理w)

それだけじゃなく、Googleアカウントでサービス接続時に照合される認証トークンの取得や、 ユーザー定義で他のアカウント(本体に登録されている必要あり)の認証トークンも取得することができます。

取得方法(というかコード)を紹介します。

[java] private String getToken(String sv,String cd){ String authToken = null;

mAccountManager = AccountManager.get(this); Account[] accounts = mAccountManager.getAccountsByType("com.google"); AccountManagerFuture<Bundle> future =mAccountManager.getAuthToken(accounts[0], cd, false, null, null);

Bundle bundle; try { bundle = future.getResult(); Intent intent = (Intent) bundle.get(AccountManager.KEY_INTENT); if (intent != null) startActivity(intent);

authToken = mAccountManager.blockingGetAuthToken(accounts[0], cd, false); } catch (OperationCanceledException e) { e.printStackTrace(); } catch (AuthenticatorException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return "サービス:"+sv+"\nコード:"+cd+"\nトークン:"+authToken;} [/java]

まあこんな感じですよね。 でもこれブロック型だから、取得を要求後にネットワーク障害とかで受信できないとその間制御が返らなくてフリーズ///

いつかどうにかします。