トップページunix
23コメント7KB

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさんNGNG
 Linuxのネットスケープで、、
HTTP_USER_AGENTって書き換える事できないのでしょうか?
(そんなハズは無いんでしょうけど、、)
ソースの時点で書き換えてインストールすれば良いのかな?

 (初心者で昔のことは知りませんけど、、)
 最近のLinuxってWindowsに変わらないくらい文字が綺麗で、
かなり使えますよね。。日本語も入力もできるし。。
 でも、掲示板に書き込んだりするのって、何かと目立ってしまって
気が引けてしまうんです。。。
 そこで、何か良いお知恵を頂けないかと思い書き込んでみた訳です。

 基本的にこう言う話は駄目なんでしょうか? そうであれば、すみません。
0002名無しさんNGNG
あの HTTP_USER_AGENT のところって
uname -srm した値を使ってるのかな?
だとしたらかなり大変な気がするけど。
簡単に出来るなら俺も教えて欲しいです。>誰か

んで、もし俺なら lynx や w3m 使うかな。
これならオプションで設定できるので楽だとは思う。
「ネットスケープで」ということなので根本的な
解決策ではないのだが。
0003名無しさんNGNG
>気が引けてしまうんです。。。
ネスケでバリバリ日本語入力してまっせ!って気がして、
好きなんですが。。。(笑)
わたしの場合、
Mozilla/4.7 [Laser5 Linux] (X11; I; Linux 2.2.5-22lv3 i586)
って出るのですが、"[Laser5 Linux]"の所は、リソースファイルで
指定してるのでは?
/usr/X11R6/lib/X11/ja_JP.ujis/app-defaults/Netscape の
*versionLocale: Laser5 Linux を使ってると思うのですが。。。

"X11; I;" は、それぞれ、何を使っているのだろう???
"Linux 2.2.5-22lv3 i586" は、2さんの通り、
uname -srmで同じものが表示されますね。

どうやって変えるのでしょう?
0004名無しさんNGNG
クシ立てればいいじゃん。そんなもん
0005あてずっぽうくんNGNG
4 さんの言う通り、proxy に書き換えさせるのが一番かもしれませんが、
uname の出力だけなら proxy 無しでも強引に書き換える方法があります
(LD_PRELOAD で uname 関数を再定義してしまえばできます)。

3 さんが書かれたように [] の中身はリソースファイルで書き換えられるので
残るのは `X11; I;' の部分ですね。この部分はどうやったらいいのか…。
難しいですね…。やっぱり proxy でしょうか。

0006名無しさんNGNG
 Proxyサーバーですか、気がつかなかったです。
ありがとうございました。やってみます。

 でも、どれがお勧めでしょう? 初めて入れるなら、、
apache とかsquidとかで、、、
0007名無しさんNGNG
> 5
バイナリそのまま書き換えればいいじゃん。
0008名無しさんNGNG
delegate がいいんじゃない?
http://wall.etl.go.jp/delegate/

0009あてずっぽうくんNGNG
> 7
たしかにその通りですね。で、調べてみたんですが、
`X11;' の部分は分かったんですけど `I;' がどこかは
見当がつきません。どうやって調べたらいいでしょうか?

0010ところでNGNG
> Mozilla/4.7 [Laser5 Linux] (X11; I; Linux 2.2.5-22lv3 i586)
の 「I;」 ってなんのことを指してるの?
0011名無しさんNGNG
レベルが高すぎて理解できない部分が多いのですが。。。

[LD_PRELOAD で uname 関数を再定義]
と言うのは具体的にどうすれば良いのでしょう?
0012名無しさんNGNG
[I;]って、WinでもMacでもネスケ使えば出ますよね、、、何だろう?
0013名無しさんNGNG
http://www.felix.or.jp/~yugo/mozilla/useragent.html
によるとSECLEVELだそうです。
00147>11NGNG
なんか面白そうなネタなのでやってみました。
-------------------------------------
#include <sys/utsname.h>

int uname(struct utsname *u)
{
strncpy(u->sysname@` "unknown"@` SYS_NMLN);
strncpy(u->nodename@` "noname"@` SYS_NMLN);
strncpy(u->release@` "unknown"@` SYS_NMLN);
strncpy(u->version@` "unknown"@` SYS_NMLN);
strncpy(u->machine@` "unknown"@` SYS_NMLN);
strncpy(u->__domainname@` "nodomain"@` SYS_NMLN);

return 0;
}
--------------------------------

% gcc -fPIC -shared -o uname.so uname.c
としてコンパイルして、
% setenv LD_PRELOAD /path/to/uname.so
% uname -a
unknown noname unknown unknown unknown unknown
あーら不思議。
0015名無しさんNGNG
uname変わりました! 感激!
でも、HTTP_USER_AGENT反映されないです。(^^;
001614>15NGNG
/usr/lib/netscape/netscape-communicator
を直接実行したら変わりましたよ(Laser5 6.0の場合)。
/usr/bin/netscape は shell script だから。
0017元ネタの人NGNG
 みなさん、本当に色々ありがとうございます。
14さん、ソースファイル有り難く使わせて頂きます。
 ホントにありがとうございました。

 ところで、私はVineLinux使っているのですが、
成功した人が居られましたら、書き込みをしてもらえると
有り難いです。 宜しくお願いします。
00187=14=16NGNG
なかなか楽しいhackだったね。
この uname.so を、/usr/bin/netscape の shell script の中で
preload できるようにすれば完璧だね。:-)
とりあえずあなたなら何の OS を名乗る?
0019名無しさんNGNG
(C-DOS for PC-8801; compatible CP/M; I; Z80A)
002019NGNG
って上のようにしてみたいのですが、無理でしょうか?
002118NGNG
「X11」の部分は、バイナリを直接書き換えないといけないので、
その部分を長くするのは難しいかもしれませんね。
もしかしたら、Mozzilaのソースを読めば、そこの部分の関数が
分かるかもしれないので、そしたらそこをまた preload する、という
テはありますけども。
0022名無しさんNGNG
[X11;]の部分消したいんですけど、、
どうするのが手っ取り早く、安全でしょう?


14さんのやつBシェル系の人は@`
% setenv LD_PRELOAD /path/to/uname.so
ここは
$LD_PRELOAD=uname.so;export LD_PRELOAD
です、参考までに。。。
知っていたらすみません、覚えたてで誰かに言いたいので(^^; 言わせてください
002321NGNG
バイナリエディタとかがあれば、それで「X11;」を探して、
「M78;」とかに書き換えるのがいいかと。
■ このスレッドは過去ログ倉庫に格納されています