Google自訂搜尋

目前分類:囉唆~ (162)

瀏覽方式: 標題列表 簡短摘要
MSN Spaces換了個樣式
這邊不換怎行呢?
:)

果然還是黑色系比較讚阿..
黑色系萬歲!

 

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

嗯嗯,下禮拜日
要跟Zuso Core的人一起被八大電視台採訪耶
第一次上電視(!?),期待期待^^
可是要坐車跑到台中去ˊˋ..
不過禮拜六要參加SA辦的Security講座,鳥哥主講唷^^
不知道會不會遇到lman(!)
 
很期待囉~

hechian 發表在 痞客邦 留言(4) 人氣()

真是無言
終於發現到Ruby不需要MinGW也可以編譯= ="
結果在Path變數中我多加了/mingw路徑,結果在沒有安裝MinGW的電腦上無法編譯...
只能夠使用DOS手動編譯+.+"
另外,如果磁碟機有設定Label的話,輸出Bat檔時也會連Label一起輸出(什麼世界阿= =)
只能夠用FSO了嗎= ="
嗚哇哇......

新功能大概先停一段時間研發吧= =".....
蟲蟲先殺光光比較重要>"<

hechian 發表在 痞客邦 留言(4) 人氣()

唉...好點點點
還沒上到半次社團
就突然變成社長= ="
這也就算了
社員人數:3
老師、社長、副社長.....
真是夠了~"~
為什麼社員全部都是四技藥學的>"<....
希望會議可以通過"重新選擇社團"這個提案
不然的話
這學期的"網路資源研究社"會變成"網路遊戲對戰社"....
老師的Fedora拿來當Host
哈哈哈....

hechian 發表在 痞客邦 留言(9) 人氣()

哭了,我哭了
第一次為男生哭
吳建緯,看我多看重你....
你卻這樣給我走了....
朋友這樣當的?

走卻不說一聲...連托夢都沒有
難道你不看重我?
錯過了告別式,我不知道何時可以在看見你
等我去為你上香吧

別擔心,朋友不是當假的
你在我腦中,永遠佔據一個空間
我不會讓任何人抹去那段記憶
那是ROM...

hechian 發表在 痞客邦 留言(4) 人氣()

開始製作Ruby的教學網
嗯~真的很累
翻譯官方文件、轉譯中國官方文件
雖然有蠻多人幫忙...
但是每次都屍橫遍野....
只有我活下來繼續翻譯....=.=|||

看到大陸官方的資料實在很完整
有點冷
還看到招募撰寫者
更冷...
台灣沒辦法這樣嗎?
冷...

hechian 發表在 痞客邦 留言(2) 人氣()

var hex_chr = "0123456789abcdef";
function rhex(num)
{
str = "";
for(j = 0; j <= 3; j++)
str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) +
hex_chr.charAt((num >> (j * 8)) & 0x0F);
return str;
}

/*
* Convert a string to a sequence of 16-word blocks, stored as an array.
* Append padding bits and the length, as described in the MD5 standard.
*/
function str2blks_MD5(str)
{
nblk = ((str.length + 8) >> 6) + 1;
blks = new Array(nblk * 16);
for(i = 0; i < nblk * 16; i++) blks[i] = 0;
for(i = 0; i < str.length; i++)
blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8);
blks[i >> 2] |= 0x80 << ((i % 4) * 8);
blks[nblk * 16 - 2] = str.length * 8;
return blks;
}

/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
function add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}

/*
* Bitwise rotate a 32-bit number to the left
*/
function rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt));
}

/*
* These functions implement the basic operation for each round of the
* algorithm.
*/
function cmn(q, a, b, x, s, t)
{
return add(rol(add(add(a, q), add(x, t)), s), b);
}
function ff(a, b, c, d, x, s, t)
{
return cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function gg(a, b, c, d, x, s, t)
{
return cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function hh(a, b, c, d, x, s, t)
{
return cmn(b ^ c ^ d, a, b, x, s, t);
}
function ii(a, b, c, d, x, s, t)
{
return cmn(c ^ (b | (~d)), a, b, x, s, t);
}

/*
* Take a string and return the hex representation of its MD5.
*/
function md5(str)
{
x = str2blks_MD5(str);
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;

for(i = 0; i < x.length; i += 16)
{
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;

a = ff(a, b, c, d, x[i+ 0], 7 , -680876936);
d = ff(d, a, b, c, x[i+ 1], 12, -389564586);
c = ff(c, d, a, b, x[i+ 2], 17, 606105819);
b = ff(b, c, d, a, x[i+ 3], 22, -1044525330);
a = ff(a, b, c, d, x[i+ 4], 7 , -176418897);
d = ff(d, a, b, c, x[i+ 5], 12, 1200080426);
c = ff(c, d, a, b, x[i+ 6], 17, -1473231341);
b = ff(b, c, d, a, x[i+ 7], 22, -45705983);
a = ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
d = ff(d, a, b, c, x[i+ 9], 12, -1958414417);
c = ff(c, d, a, b, x[i+10], 17, -42063);
b = ff(b, c, d, a, x[i+11], 22, -1990404162);
a = ff(a, b, c, d, x[i+12], 7 , 1804603682);
d = ff(d, a, b, c, x[i+13], 12, -40341101);
c = ff(c, d, a, b, x[i+14], 17, -1502002290);
b = ff(b, c, d, a, x[i+15], 22, 1236535329);

a = gg(a, b, c, d, x[i+ 1], 5 , -165796510);
d = gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
c = gg(c, d, a, b, x[i+11], 14, 643717713);
b = gg(b, c, d, a, x[i+ 0], 20, -373897302);
a = gg(a, b, c, d, x[i+ 5], 5 , -701558691);
d = gg(d, a, b, c, x[i+10], 9 , 38016083);
c = gg(c, d, a, b, x[i+15], 14, -660478335);
b = gg(b, c, d, a, x[i+ 4], 20, -405537848);
a = gg(a, b, c, d, x[i+ 9], 5 , 568446438);
d = gg(d, a, b, c, x[i+14], 9 , -1019803690);
c = gg(c, d, a, b, x[i+ 3], 14, -187363961);
b = gg(b, c, d, a, x[i+ 8], 20, 1163531501);
a = gg(a, b, c, d, x[i+13], 5 , -1444681467);
d = gg(d, a, b, c, x[i+ 2], 9 , -51403784);
c = gg(c, d, a, b, x[i+ 7], 14, 1735328473);
b = gg(b, c, d, a, x[i+12], 20, -1926607734);

a = hh(a, b, c, d, x[i+ 5], 4 , -378558);
d = hh(d, a, b, c, x[i+ 8], 11, -2022574463);
c = hh(c, d, a, b, x[i+11], 16, 1839030562);
b = hh(b, c, d, a, x[i+14], 23, -35309556);
a = hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
d = hh(d, a, b, c, x[i+ 4], 11, 1272893353);
c = hh(c, d, a, b, x[i+ 7], 16, -155497632);
b = hh(b, c, d, a, x[i+10], 23, -1094730640);
a = hh(a, b, c, d, x[i+13], 4 , 681279174);
d = hh(d, a, b, c, x[i+ 0], 11, -358537222);
c = hh(c, d, a, b, x[i+ 3], 16, -722521979);
b = hh(b, c, d, a, x[i+ 6], 23, 76029189);
a = hh(a, b, c, d, x[i+ 9], 4 , -640364487);
d = hh(d, a, b, c, x[i+12], 11, -421815835);
c = hh(c, d, a, b, x[i+15], 16, 530742520);
b = hh(b, c, d, a, x[i+ 2], 23, -995338651);

a = ii(a, b, c, d, x[i+ 0], 6 , -198630844);
d = ii(d, a, b, c, x[i+ 7], 10, 1126891415);
c = ii(c, d, a, b, x[i+14], 15, -1416354905);
b = ii(b, c, d, a, x[i+ 5], 21, -57434055);
a = ii(a, b, c, d, x[i+12], 6 , 1700485571);
d = ii(d, a, b, c, x[i+ 3], 10, -1894986606);
c = ii(c, d, a, b, x[i+10], 15, -1051523);
b = ii(b, c, d, a, x[i+ 1], 21, -2054922799);
a = ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
d = ii(d, a, b, c, x[i+15], 10, -30611744);
c = ii(c, d, a, b, x[i+ 6], 15, -1560198380);
b = ii(b, c, d, a, x[i+13], 21, 1309151649);
a = ii(a, b, c, d, x[i+ 4], 6 , -145523070);
d = ii(d, a, b, c, x[i+11], 10, -1120210379);
c = ii(c, d, a, b, x[i+ 2], 15, 718787259);
b = ii(b, c, d, a, x[i+ 9], 21, -343485551);

a = add(a, olda);
b = add(b, oldb);
c = add(c, oldc);
d = add(d, oldd);
}
return rhex(a) + rhex(b) + rhex(c) + rhex(d);
}

夠變態吧?
喜歡的去破破看

hechian 發表在 痞客邦 留言(3) 人氣()

http://myweb.hinet.net/home8/drcolin/fur.wmv 頗好看的影片~看你們還忍不忍心阿^^

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

感覺好像回到從前
那股對網頁設計的熱情
開始做了
技術有點生疏了
不過摸摸就回來,嗯~
感覺真的不錯....

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

禮拜六分手了....
我當天跟她說的時候哭了....
她,當晚也流淚
不忍
痛苦
昨天,想到一個很該死的點子

.....
今年的情人節
我買了生平第一份金莎
我將要再追求妳一次
對不起,我還是很愛妳
原諒我的自私
寬恕我的佔有
抱歉,我不想放妳走....
陪著我

hechian 發表在 痞客邦 留言(3) 人氣()

  • Feb 12 Sat 2005 23:44
  • 走了

風箏又飛了
不過這次是我放手的
看她在天空掙扎的那樣痛苦
我也不忍
不如放她飛去
自由自在的飛
飛到她的夢想國度
遇到更疼愛她的人
是我不夠疼愛她吧.....
呵呵
希望妳...可以快樂
情人節&生日快樂
橘子,我愛妳...

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

NTFS不利的一面
翻譯+整理: By Bigworm 不當之處請指正
這篇文章是根據H. Carvey的The Dark Side of NTFS (Microsoft's Scarlet Letter)

翻譯的,可以自由轉載,但請保持譯者和來源以及文章的完整性.

簡介:微軟的平臺不斷在增加.公司用的伺服器和桌面作業系統運行的一般是winNT和win2000,而家庭用戶和學生用的系統一般是winXP.這些平臺是很受歡迎的並且被大範圍的使用.可是使用這些作業系統的用戶和管理員卻對NTFS檔系統的某個特性知道的很少,那就是"交換資料流程"(alternate data streams).

NTFS因為它的穩定性 強大的功能 以及它所提供的安全性而成為一種更優越的檔系統,NTFS交換資料流程(ADSs)是為了和Macintosh的HFS檔系統相容而設計的,它使用資源派生(resource forks)來維持與檔相關的資訊,比如說圖示及其他的東西.而微軟提供了一種方法通過Windows explorer來創建特殊的ADSs,檢測這種特殊的ADSs的必要工具和功能相當缺乏.說來也奇怪,系統一直以來都有允許用戶創建ADSs以及在這種流檔中執行隱藏代碼的功能和工具.Microsoft KnowledgeBase 中Q101353號文章承認了基於API的win32不能很好的支持ADSs.

這篇文章的目的是詳細的介紹ADSs是怎麼被創建和利用的,以及隱藏在ADSs中的代碼是怎麼被執行的.基於不同的系統(NT 2K XP)處理ADSs也是很不同的.

創建ADSs

創建ADSs的語法相對比較簡單和直接.比如說創建和文件myfile.txt相關聯的ADSs,只需簡單的用冒號把檔案名和ADSs名分開即可.

D:ads>echo This is an ADS > myfile.txt:hidden

此外,ADSs還可用另外一個檔的內容來創建.

D:ads>echo This is a test file > test.txt

D:ads>type test.txt > myfile.txt:hidden

然後你可以用記事本去檢驗一下看看,命令如下:

d:ads>notepad myfile.txt:hidden

可是,用dir命令去看不出任何變化,Windows Explorer也沒有任何可用的轉換和設置來檢測這種新建的ADSs的存在.

此外,ADSs可以被創建以及與目錄列表相關聯,而不是與一個檔關聯.這種特性在文章的後面將會顯示出他的重要性,但現在我們介紹怎麼創建ADSs以及足夠了.

D:ads>echo This ADS is tied to the directory listing > :hidden

這種類型的ADSs也可以通過type和notepad命令來創建.

ADSs檔的內容並不只限於text(文本)資料,任何二進位資訊的流都可以組成一個檔,而且ADS也就是一個檔而已.可執行的東西也能夠相當容易的隱藏在ADSs中,看下面的例子:

D:ads>type c:winntotepad.exe > myfile.txt:np.exe

D:ads>type c:winntsystem32sol.exe > myfile.txt:sol2.exe

同樣,像圖片檔,音效檔案或任何其他的資料流程都可以隱藏在ADSs中.

最後,Windows Explorer提供了一種方法來創建特殊的ADSs(RUSS00)

看下圖:我們在值那一欄可以填入很多東西

_blank>/UpLoadFiles/NewsPhoto/31511210.gif
圖一
如果某個用戶沒有寫檔的許可權,那麼他就不能在該檔上添加ADS.

此外,windows 檔保護功能可以防止系統檔被替換,但是他不能阻止有適當許可權的用戶在這些系統檔上添加ADSs,有個工具System File Checker(sfc.exe)可以檢查受保護系統檔是否被覆蓋,可是它不能檢測ADSs.

檢測,查看,利用ADSs

如前所述,微軟並沒有提供工具來檢測ADSs的存在.現在檢測ADSs最好的工具是由Frank Heyne寫了Lads.exe.這個工具現在的版本是3.10,它是一個命令行工具

看下圖:
_blank>/UpLoadFiles/NewsPhoto/74413189.jpg
圖二
從上圖我們可以看出lad.exe多有用了,不僅可以顯示ADSs的存在,還可以顯示ADSs的路徑和大小.我們仔細注意和myfile.txt相關聯的四個檔,其中三個是以很像撲克裏黑桃形狀的ASCII開頭的,另外一個就是在花括弧中有一大串數位和字母的那個檔,這四個檔就是我們用圖一所示方法創建的.

既然找到了這些檔,我們應該怎麼看檔的內容那?其實notepad就是一個很好的工具,但是這中間還有個陷阱.

比如,以下命令就出現我們不希望的結果

d:ads>notepad myfile.txt:hidden

執行這個命令時notepad就會問是否創建一個新檔,這個就很奇怪了,因為myfle.txt:hidden我們早就創建了.為了執行的結果是我們所希望的,應該輸入下面的命令:

d:ads>echo This is another ADS > myfile.txt:hidden.txt

d:ads>notepad myfile.txt:hidden.txt

這樣就出現了我們所希望的結果,檔案名後增加的副檔名允許用notepad打開ADSs,這種方法也同樣適用於其他的ADSs,比如:

d:ads>notepad myfile.txt:np.exe

ADSs是NTFS檔系統的特徵,所以帶有ADS的檔如果被移動到其他的檔系統,比如FAT,FAT32或者ext2上,ADS就會被刪掉,因為這些檔系統都不支援ADS,如果是在NTFS分區之間移動,ADSs就會被保留下來.

刪除ADSs相對簡單,用下面的命令即可

d:ads>type myfile.txt > myfile.bat

d:ads>del myfile.txt

d:ads>ren myfile.bat myfile.txt

現在用lads.exe看一下,可以看到所有的ADSs都不見了.

執行ADSs

前面的例子中,我們已經把可執行的代碼藏在ADSs中,這個看起來好像沒什麼用處,除非代碼可以自動執行.其實,start命令就可以用來執行這些代碼,現在我們再來創建ADSs

d:ads>type d:winntotepad.exe > myfile.txt:np.exe

但是在2000上執行時會出現錯誤,這時因為我們提供的路徑資訊不夠

所以,我們應該指明路徑,不管時絕對路徑還是相對路徑.比如,下面的任何一個命令都可以:

d:ads>start d:adsmyfile.txt:np.exe

d:ads>start .myfile.txt:np.exe

是不是出現了記事本??

當命令執行時進程會出現比較有意思的現象.例如,運行pslist.exe會出現下圖情況
_blank>/UpLoadFiles/NewsPhoto/53098127.jpg
圖三
出現的進程名是myfile.txt:

看看任務管理器中的情況:
_blank>/UpLoadFiles/NewsPhoto/74639617.jpg
圖四

再看看下圖:
_blank>/UpLoadFiles/NewsPhoto/85933109.jpg
圖五


我們來看看在xp的管理器中進程的情況:

_blank>/UpLoadFiles/NewsPhoto/10248550.jpg
圖六

還有一種可選擇的用來執行隱藏檔流的方法,我們來示範一下,先在桌面上創建一個快捷方式,專案位置填入d:adsmyfile.txt.假設你創建的流文件是sol2.exe(也就是用這個命令type d:winntsystem32sol.exe > myfile.txt:sol2.exe),現在我們到創建的快捷方式的屬性裏修改,讓快捷方式指向d:adsmyfile.txt:sol2.exe,觀察一下快捷方式的圖示,是不是起了變化?

現在我們雙擊這個圖示,就可以執行這個檔了.看執行後的結果:
_blank>/UpLoadFiles/NewsPhoto/05442063.jpg

圖七

還有一種比較簡便的方法是直接在註冊表中的run鍵下添加資料流程檔的完整路徑:

HKEY_LOCAL_MACHINESoftwareMicrosoft
WindowsCurrentVersionRun,下次系統啟動時就會自動運行該隱藏檔

在開始的運行框中也可以執行ADSs比如: file:///d:/ads/myfile.txt:sol2.exe

對於使用perl的管理員可用下面的代碼執行ADSs

my $file = 'd:adsmyfile.txt:sol2.exe';

`$file`;

把文件存為ads.pl,用下麵的命令即可執行

d:perl>ads.pl

其實用windows的WSH也可以執行ADSs:

d:ads>echo MsgBox "VBS file to test ADSs" > ads.vbs

d:ads>wScript ads.vbs

d:ads>type ads.vbs > myfile.txt:ads.vbs

d:ads>wScript myfile.txt:ads.vbs

或者:

D:ads>start .myfile.txt:ads.vbs


總結:

ADSs是NTFS的一個特徵,它是為了和HFS相容而設計的.可是由於比較難於被發覺,所以對於管理員來說是一種危險,現在29A這個組織的Bennie和Ratter已經發佈了一種叫做W2K.Stream病毒,這個病毒就是利用ADSs的.

我們並不能以不使用NTFS來作為解決這個問題的辦法,因為NTFS在安全性和可靠性方面是有很大作用的.其實,管理員應該對檔和目錄正確的使用DACLs(discretionary access control lists),並且經常使用工具比如說lads.exe來掃描他們自己的系統.

文章中有些地方經過我自己的整理,刪除了有些無關緊要的內容

如果想看原文可以參http://patriot.net/~carvdawg/docs/dark_side.html.

上面提到的工具鏈結如下:lads _blank>http://www.heysoft.de/nt/lads.zip

pslists: _blank>http://www.sysinternals.com/files/pslist.zip


hechian 發表在 痞客邦 留言(2) 人氣()

跟BF討論完之後發現....
0.0.2不錯= ="
只要將一些部分修改就可以推出0.0.3版...

像是記憶ruby.exe初始位置 (BF直接寫入Registry,我也照做了XD...)
一個[關於]...(0.0.2沒有,很不應該....)
多重編譯(有點想要移除此功能...目前功力還不至於應付這功能)
批次檔管理(被我移除了...有Windows檔案總管還要這做啥?)
版面配置...(多了個選擇ruby.exe的東西,移除掉後只會剩下Source檔案資訊)

可能改掉載入檔案的部分吧?用Common Dialog的Show Open來載入檔案
應該會比較好用...只是這樣版面就太簡潔哩XD...
一個TextBox、一個Label、四個Command(瀏覽、編譯、關於、離開)
越改越難看=.=...
我都Open Source了,有興趣的可以添加功能吧^^


呼...我很笨
我想我應該不適合程式設計吧?
理科文科都不強...=.=

hechian 發表在 痞客邦 留言(2) 人氣()

我算累贅吧?
能力不足還享受別人沒有的權利
我真是過分
想退出 想離開
但是不想放棄

我該不該走?
想要變成普通人
懂就行 會就好
能幫橘子修電腦
我就滿足了....

追求更高的知識
培養更強的能力
打敗更強的對手
達到最高的領域

電腦狂的目標....
沒了

hechian 發表在 痞客邦 留言(5) 人氣()

常常有人羨慕我電腦很強
有人誇獎我電腦很強
有人說我怎樣怎樣....
.............................
我好羨慕他們....
可以保護自己在乎的人
電腦強?又怎樣?
保護不了朋友
強有何用?
可以入侵,找出施暴者?
可以破壞,讓施暴者賠錢?
還是可以修改他的前科紀錄讓他變成通緝犯?
..............................
我真的好沒用
一天比一天無言
我不希望,我現在最在乎的人也出事.....
拜託,不要.....

hechian 發表在 痞客邦 留言(7) 人氣()

唉....市面上的書都誤人子弟阿....
第一站第一題,要不是有「貴人」相助,我看可能考不到滿分吧@@.....

第一題DOS部分書上是這樣的:
dir /on a: > C: mp.txt

「貴人」教我這樣的....:
dir a:/on /a > c: mp.txt

結果:
書上的是:62 Files
貴人:63 Files
正確答案:63 Files
.............那你們出書幹麻?


不過今天遇到好多美女喔@@
都超正的阿....有可愛型、美女型、羅莉....
啊~天堂....

hechian 發表在 痞客邦 留言(2) 人氣()

今天去屏榮考丙級軟體應用,到考場時肚子有點痛~看看時間反正還早~就想去廁所一下
但是我不熟阿~怎辦?
這時~遠方走來一個正妹(超正~臉可愛~人小小~聲音好聽~又很像很避暑....重點是穿裙子,氣質阿XD)
我很高興的問她說....
我:「同學,對不起請問廁所在哪?」

結果她竟然回我一句話~我真的不知道該怎麼辦....=.=




























她:「男廁嗎?」
我:「痾......(心裡面:&!@&*!^@&^*@#!^)」



同學~夠了喔=.=妳真的讓我很無言....我哪邊像女生了=.=.......
很想認識妳....好好的損妳一番= =..... 要是你看到文章....cfc@zuso.org寄個信給我吧......XD

hechian 發表在 痞客邦 留言(8) 人氣()

強暴女生真的那麼好玩嗎?
他們把女生看成什麼......
難道她們是他們的狗嗎?
為什麼要這樣?
這樣做對嗎?
他們難道想不出來嗎?

又一個了,天天發生
一樁接著一樁....

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

請對下聯........



















紅包給你~錢要還來


hechian 發表在 痞客邦 留言(2) 人氣()

今天去巨匠上免費的試聽課程....(網管)

有點後悔的說~但是還是學到蠻多東西
雖然說有98%都是我已經知道的東西(像是OSI、通訊協定...etc.),但是還是要到了一個不錯的Sniffer^^...
還知道了一些事情^^~
嗯嗯...還是值得低^^

hechian 發表在 痞客邦 留言(4) 人氣()