[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[port139ml:03343] Re: はせがわさん版jstrings 0.5
- To: port139ml@xxxxxxxxxxxxx
- Subject: [port139ml:03343] Re: はせがわさん版jstrings 0.5
- From: "HASEGAWA, Yosuke" <hasegawa@xxxxxxxxx>
- Date: Mon, 26 May 2003 09:43:40 +0900
はせがわといいます。
Hideaki Iharaさんは 2003/5/23(金) 17:32 ごろ、
「[port139ml:03341] はせがわさん版jstrings 0.5」の
メールで書きました。
>Port139 伊原です。ネタもとは (R)日記。
>http://www.alles.or.jp/~hasepyon/
むぅ〜、いつのまにやら監視されてるし。
>なんか、sleuthkit-users でも Unicode 文字列検索どうするか?とかいう
>話題が流れてるみたいだから、どこでも問題になるんですかね。
>
jstrings 0.5 の Unicode(UTF-16) 対応は、実験的な実装で、かなり制限つき
のものです。ので期待しないでください。と一応言ってみるテスト。
で、man に書いてある
> -s
> 文字列の先頭バイトがマルチバイト文字の先行バイトであった場
> 合には、それを読み捨て、2バイト目以降から文字列が始まってい
> るものとする(Shift_JISおよびWindows-31Jでのみ有効)。
に関しては、ふぉれんじっくのためには少し補足が必要かもしれません。
例えば、Shift_JIS であろうバイト列(16進)
81 82 82 82 83 82 84 82
があったとします。これをそのまま Shift_JIS に直すと、「≠bモр」という
意味のない文字列の断片なわけです。ところが、先頭の 81 を敢えて切り捨て
た上で Shift_JIS に直すと「bcd」とそれなりに意味のありそうな文字列に
なるわけです。
すなわち、多バイトのエンコーディングにおいては、文字列らしきバイト列を
見つけたときには、素直にその先頭からを文字列と見なしてはいけない、とい
うことになります。
通常のバイナリエディタや dump などでは当然、これらを見落としてしまうこ
とになります。
で、jstrings 0.5 の -s オプションは上記を実現するためのもので、現状では
Shift_JIS / Windows-31J にしか対応していませんが、UTF-16 なんかでも同じ
ことが言えますので、そのうち対応したいところです。
本来、こんなオプションをわざわざ指定しなくても、可能な限りの文字列を拾
い上げたいところですが、それをすると唯でさえ汚いソースが、さらに収集つ
かなくなりそうですので、ご勘弁を。
---
はせがわ hasegawa@xxxxxxxxx
"UNIX 4.3BSDの設計と実装" 復刊リクエスト投票募集中
http://www.fukkan.com/vote.php3?no=4316