OperaのUA偽装
daimaou-Kさんのブログ浪漫の7月9日の日記 ザウルスの吐き出す環境変数を拝見して、Operaのユーザーエージェントについて調べてみました。
OperaのUAは、Opera7-jpn-helperのUserAgentの設定から3種類を選択することができます。私の使用しているOpera7.55では以下のような文字列になります。
ID=1:Opera/7.55 (Qt embedded; Linux armv5tel; 640x480; U) [en] ID=2:Mozilla/4.78 (Qt embedded; Linux armv5tel; 640x480; U) Opera 7.55 [en] ID=3:Mozilla/4.0 (compatible; MSIE 6.0; Qt embedded; Linux armv5tel; 640x480) Opera 7.55 [en]
なるほどこれでは、ザウルスのOperaだと容易に推測されてしまいますね。設定ファイルであるOpera.iniにはユーザーエージェントのID番号の設定しかないので、文字列はプログラム本体に含まれているようです。そこで/home/QtPalmtop/bin/operaをバイナリエディタで調べてみました。
アドレス003c5100より Opera/%s%%s (%%s; U) ~ [%%s] アドレス003c50d8より Mozilla/%%s (%%s; U) Opera %s ~ [%%s] アドレス003c5120より Mozilla/4.0 (compatible; MSIE %%s; %%s) Opera %s ~ [%%s]
という文字列があります。そこで各文字列を
003c510b:20->00 003c50e3:20->00 003c512b:20->00
の様に0x20を0x00に置き換えてみました。すると各IDでのユーザーエージェントは
ID=1:Opera/7.55 ID=2:Mozilla/4.78 ID=3:Mozilla/4.0
となりました、これならザウルスということは判らないです。先頭から適当な文字列を入れて最後を0x00にすれば、おそらくどんな文字列にすることも可能だと思います。
ユーザーエージェントの確認は以下のサイトを使用しました。
http://www.ugtop.com/spill.shtml