線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1566
推到 Plurk!
推到 Facebook!

硬碟 加密心得

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-09 02:06:58 IP:61.64.xxx.xxx 未訂閱
此為轉貼資料 http://sinbad.zhoubin.com/read.html?board=Win&num=81 標題:微機加密心得(1) 發信人: Sinbad  標 題: 微機加密心得(1) 發信站: 辛巴達 (Fri Sep 27 10:06:58 2002) 發信人: Sinbad 標 題: 微機加密心得(1) 發信站: 辛巴達 (Thu Sep 28 15:12:00 2000) 微機加密心得 by Sinbad Apr 26, 1999 http://sinbad.dhs.org 如何防止他人進入自己的電腦?怎樣保護宿舍裏公用機器上自己的文件? 這些問題同學們都比較關心,BBS上也經常有相關的討論。現在我把自己的一點心 得體會post出來,與大家共用,就當抛磚引玉吧。 一.拒人於千里之外 防止別人進入系統最簡單的方法就是修改CMOS,設置上開機密碼,但通用密碼的存 在使這項功能形同虛設,所以說不太保險。 比較方便的就是借助軟體System Commander(以下簡稱SC)來設置密碼,SC的強項 是能使多個作業系統共存於硬碟,而且互相之間協調的很好。它之所以能做到這一 點,是因爲安裝SC時,硬碟的MBR(Master Boot Record,主引導磁區)及其他0磁 道的磁區被作了修改,填充了大量SC引導各作業系統的代碼,也就是說,你的機器 已經交給SC了,在這裏設置密碼比較好,適合於你的個人電腦。如果是宿舍裏的公 用電腦,用SC管理著Win98和Linux,沒有設密碼。爲了避免沒有root許可權的人按錯 鍵進入Linux,而導致無法正常關機,通常的做法是另開一個SC帳號,爲其定制 “O/S Access Menu”,但這樣又增加了每次都要根據帳號輸入密碼的麻煩。如何 進入Win98不需要密碼,而進入Linux要密碼呢?其實很簡單,只要新建一個帳號 AutoLogin,把Linux從其“O/S Access Menu”中去掉,這樣其他人不需密碼即可 使用Win98,而Linux只有Administrator才能進入。 SC是一個很好的工具軟體,但卻屬於“請神容易送神難”的那種。要把它乾乾淨淨 的卸掉,需要對硬碟有一定的瞭解。前面已經提到,SC修改了硬碟0面0磁軌包括 MBR的前6個磁區。第二磁區是引導各主分區的程式,如果把C盤根目錄下的 Syscmndr.sys文件改名,這段程式將被執行,出現一個分區啓動功能表,我覺得這比 OS2的Boot Manager簡潔多了。第3磁區是個備份,第4、5、6磁區填充了大量的P, 不知作什麽用的。這後5個磁區用Debug的f命令全部填0即可,至於MBR就在DOS下打 入“FDISK/MBR”,MBR的代碼部分就恢復了。 把SC從0磁軌趕走以後,就可以操起Debug,自己編寫加密代碼了。這時你必須 清楚DOS的啓動過程,並能夠讀懂硬碟MBR中代碼部分和分區表各位元組項的含義。我 在這裏簡要介紹一下,詳細內容請參考有關病毒和加解密的書籍。機器啓動時,硬 件檢測成功後,通過INT 19H將硬碟的MBR讀到記憶體指定區域0:7C00H中,然後轉到 其中執行,根據分區表的資訊確定啓動哪個分區內的作業系統。MBR中有206個位元組 爲空,插入相應的代碼之後就可以在啓動作業系統之前實現加密。下面一小段程式 可以觀察MBR的內容: C:\>debug -a 1369:0100 mov ax,201 1369:0103 mov cx,1 1369:0106 mov dx,80 1369:0109 mov bx,200 1369:010C int 13 1369:010E int 20 1369:0110 -g Program terminated normally -d200 MBR一共512位元組,用d命令4次看完,你會發現中間有一大段爲00的部分,這將 是我們加密程式的所在之處。用u命令反彙編,可以看到兩個jmp指令,找一個修改 爲jmp到加密程式段開始處,然後在程式段末尾再jmp回來就天衣無縫了。在磁區內 寫代碼,要注意的是當時位址與執行時位址之間的換算關係,搞不清楚就死機了。 下面將介紹如何把一段加密代碼植入MBR的詳細過程,完成以後每次機器,必須輸 入字母$才能引導DOS,按其他鍵均死機。運行上面那段程式把MBR讀入記憶體,然後 按照以下步驟實現(要輸入的部分是黑體): -u218 136A:0218 EA1D060000 JMP 0000:061D -a218 136A:0218 CALL 0000:06E0 (通過調用副程式來執行加密代碼) -a2e0 136A:02E0 MOV AH,0 136A:02E2 INT 16 (從鍵盤接收一個字元) 136A:02E4 CMP AH,24 (是$嗎?) 136A:02E7 JE 02EB (是,返回) 136A:02E9 JMP 02E9 (不是,進入閉環) 136A:02EB RET 136A:02EC 最後用INT 13H的寫功能將內容寫回MBR就大功告成了。 有一點需要說明,裝了Win95/98之後,MBR中爲空的部分就不到206位元組了。 所以上面從2e0處開始寫代碼可能不適合於你的硬碟,我是裝完Win95/98之後, 把DOS的MBR代碼部分找回來,把新的給覆蓋了。這樣做可以獲得更多的空餘空間 來嵌入加密代碼,對作業系統又沒什麽影響,比較不錯。現在DOS不多見了,需要 的話給我寫信。我曾經寫了一段“十位元密碼確認”的代碼,由於設計了比較好看 的介面,MBR放不下,還利用了0磁軌的第2磁區。過幾天整理一下貼出來。 (待續) ※ 來源:.辛巴達 sinbad.dhs.org. [FROM: WWW] ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-11-23 0:22:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!