字典檔正常的用法當然是拿來當字典查,
但在破解網頁上的密碼時常常也用到字典檔,
最直覺的方法就是依續讀入字典檔裡的單字,
然後把他填到密碼欄裡,
執行SUBMIT動作,
看看伺服器的回應是否成功。

網路上有些免費的字典檔可拿,
StarDict
選擇「cdict-big5 dictionary」抓回來解壓縮後會有三個檔,
cdit-big5.dict.gz
cdit-big5.idx
cdict-big5.ifo
其中cdit-big5.dix是一個索引檔,
也是我們用來產生字典檔的來源,
索引檔裡的結構是「單字」「\0」「8byte的其它資料」,
我們關心的是「單字」的部份,
寫個perl小程式將索引檔轉成字典檔,
以後就要小字典可用了:)

use strict;
open(IN, 'cdict-big5.idx')or die;
open(OUT, '>word')or die;
my $size=(stat IN)[7];
my $offset=0;
my $buf;
while($offset<$size-9){
 sysread IN, $buf, 1; 
 $offset+=1;
 if(ord($buf) eq 0){
  syswrite OUT, "\r\n";
  sysread IN, $buf, 8;
  $offset+=8;
 }else{
  syswrite OUT, $buf;
 }
}
close(IN);
close(OUT);

jck11 發表在 痞客邦 PIXNET 留言(0) 人氣()