字典檔正常的用法當然是拿來當字典查,
但在破解網頁上的密碼時常常也用到字典檔,
最直覺的方法就是依續讀入字典檔裡的單字,
然後把他填到密碼欄裡,
執行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);
但在破解網頁上的密碼時常常也用到字典檔,
最直覺的方法就是依續讀入字典檔裡的單字,
然後把他填到密碼欄裡,
執行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);
全站熱搜
留言列表