AutoRun.inf命令格式(翻譯MSDN)


AutoRun.inf 命令(翻譯MSDN

這篇文檔是在AutoRun.inf文件中命令的介紹

[AutoRun]命令:

l Icon

l Label

l Open

l ShellExecute

l Shell

l Shell/Verb

[DeviceInstall] 命令:

l DriverPath

[AutoRun]命令

圖標命令Icon

Icon命令制定可自運行的驅動器在微軟Windows用戶界面中的圖標。

格式icon=圖標文件名[,索引]

參數說明:

圖標文件名

包含圖標信息的 .ico, .bmp, .exe, .dll文件名。如果該文件包含多於一個圖標,必須用一個從0開始的索引進行標記。

備註:

圖標和標籤一起在用戶界面中描繪可自運行驅動器。例如,在Windows瀏覽器中,驅動器的圖標變成設置的特定圖標,而不是標準的默認磁盤圖標。圖標文件必須與open命令指定的文件存在於同一目錄下。

下面這個例子指定的圖標是 Myproc.exe文件中的第二個圖標。

Icon = Myproc.exe, 1

標籤命令Label

Label命令指定一個文本標籤作為磁盤名。

使用label = 標籤文本

參數

標籤文本:一個標籤文本字符串,可以包含空格。

備註:

下面的例子指定一個驅動器的名字為「我的磁盤」

Label = 我的磁盤

實驗結果:

IconLabel命令在Windows XP下起到預期的效果,無論是在光驅,移動磁盤和固定磁盤中都有效。但在Windows 2000下不起作用。

打開命令Open

Open命令指定一個可執行文件的路徑和文件名,當用戶此驅動器與電腦連接時自動運行此程序。

使用:open = [可執行文件路徑/]可執行文件名[參數1[參數2]……]

參數說明:

可執行文件名

CD插入時運行的可執行文件的全路徑名。如果只有一個文件名,那麼他必須位於磁盤的根目錄下。如果在子目錄下,必須制定路徑。也可以包含為運行的可執行文件傳遞的一個或多個參數。

備註:

如果想獲取更多的關於啟動程序的信息,請閱讀MSDN中的文章《Tips for Writing AutoRun Startup Applications.

實驗結果:

此命令只有在光驅中使用時有時可以使用,在移動磁盤和固定磁盤中均不能達到預期目的。具體原因,不清楚。

ShellExecute命令

5.0版本 該命令指定指定一個可執行文件或者數據文件調用ShellExecuteEx進行執行。

使用:shellexecute = [文件路徑/]文件名[參數1[參數2]……]

參數說明:

文件路徑

指定可執行文件或者數據文件的所在目錄的路徑的字符串,如果沒有指定,文件必須在驅動器的根目錄下。

文件名

包含文件名的字符串。如果是可執行文件,則運行。如果是數據文件,則必須是fileclass的成員,ShellExecuteEx用給文件類的默認啟動命令啟動之。

參數

包含任何傳遞給ShellExecuteEx的附加的參數。

備註:

這個命令和open命令有些相似,但是它允許你使用文件關聯信息執行程序。

Shell命令

Shell命令指定驅動器右鍵菜單的默認命令。

使用:shell = verb

參數說明:

Verb

與相應的命令相聯繫的verb(動詞).動詞和與其相聯繫得命令必須在AutoRun.inf中用shell/verb命令定義。

備註:

當鼠標右鍵點擊驅動器圖標時,出現一個右鍵菜單。如果有Autorun.inf,默認的右鍵菜單則從其中獲得。當用戶雙擊驅動器圖標時,shell所設置的命令執行。

如果想指定默認的右鍵菜單命令,首先使用shll/verb命令定義動詞,命令行,和菜單名。然後用shell命令使之變成默認的右鍵菜單命令。否則,默認的菜單項是「自動播放」,啟動open或者shellexecute定義的命令。

Shel/verb 命令

Shell/verb命令添加往磁盤的右鍵菜單裡添加一個命令。

Shell/verb/command = 可執行文件名

Shell/verb = 菜單名

參數說明:

Verb

命令的動詞名字。Shell/verb/command命令將動詞和一個可執行文件相關聯。Verb不能包含空格。默認顯示的菜單名就是verb的內容。

文件名

執行該命令的可執行文件路徑和文件名。

菜單名

此參數指定在右鍵菜單中顯示的文本信息,即菜單項的名字。如果省略這一項,則顯示Verb的內容。菜單名可以是大小寫字母混合的也可以包含空格。你可以在字母前加』&』創建快捷鍵。

備註:

當用戶用鼠標右鍵點擊驅動器圖標時,出現一個右鍵快捷菜單。在AutoRun.inf中添加shell/verb命令,可以往這個快捷菜單中添加命令。

每個命令有兩部分,他們必須在不同的行聲明。第一部分是shell/verb/command,這是必須的,這部分與一個字符串相聯繫,調用一個動作,當命令執行時,啟動相應得應用程序。第二部分是shell/verb命令,這是可選的,他的作用是設定快捷菜單中顯示的名字。

下面是一個例子,AutoRun.inf文件將readit動作和命令字符串「Notepad abc\readme.txt」。菜單名為「Read Me」,「M」被定義為該項的快捷鍵

Shell\readit\command = notepad abc\readme.txt

Shell\readit= Read &Me\


轉自http://blog.csdn.net/xuweii/archive/2006/06/22/821982.aspx


ARP掛馬-新的區網隱形殺手


當使用者瀏覽器無故被導引至其他網站,假如不是DNS出問題,很有可能是所謂的ARP掛馬,這讓區域網路安全亮起了紅燈。


在2009年3月5日起,在各大論壇有許多人反映,連至ZDNet、CNET甚至MSN網站時,發生了一些異常行為,例如瀏覽器突然遭到被導引至其他網 站,像是www.dachengkeji.com、www.dachengkeji.cn/article/index.htm。

此時,網路上便開始有人追查相關原因。許多網友與網路安全專家自行推敲後,分析出幾個結果︰有人說是DNS被影響,但後來幾起測試利用IP直連,也會出現異狀;他們仔細觀察封包分析結果後,發現DNS回應也都正確,因此認為不會是這方面的問題。

後來一些有耐心的人又花了很多力氣,把封包截取下來分析,看到特定封包是突然被「插」進來的,他們仔細分析了中間的路徑後,懷疑是中華電信路由器被「黑」,或認為中間有IT設備受到入侵,然後使得駭客可以插入封包。

在接觸過此類手法的專家看來,他們懷疑整起事件為ARP掛馬的機率極高。不論這事件的原因是什麼,這類手法其實很值得重視,為了讓你能更熟悉這種威脅的運作方式,接下來我將整理一些相關基本資訊。

甚麼是ARP?
在802.3 乙太網路架構下,區域網路中使用CSMA/CD方式,這種廣播(Broadcast)的傳輸方式,多數人應該都很熟悉,當某主機需要傳送資訊給某IP位址 時,會先發送ARP(Address Resolution Protocol,位址解析協定)封包,詢問網路上誰擁有這個IP的MAC位址,而採用該IP的電腦,一旦聽到這樣的詢問,便會回應給來源電腦,以便後續 的資料傳送。

ARP request、ARP reply,以及ARP cache
我們了解到主機利用ARP查詢的方式,來獲得 IP 位址和實體位址的對應。而發出詢問的封包就叫做ARP request(它是封裝成廣播封包的形式),因此區域網路內所有電腦都會收到此一封包,而比對ARP request的IP位址後,只有該IP的電腦會回覆ARP reply封包──將這些資料傳給原本發出ARP request的主機。

但主機總不可能每次傳輸都要去問一次別人的MAC位址,因此為了減少ARP request廣播封包,進而降低網路負擔,電腦主機會將曾經查詢過的網路裝置IP位址/MAC位址,記錄在主機裡。

說到這,聰明的人就知道這中間有甚麼可以玩了。如果你有辦法跟對方說,你就是某臺主機,它就會相信,而一切只要靠ARP來騙就可以。

一般當你「黑」進一臺電腦A,就算是A處於交換器環境底下,靠以前的Sniffer工具,是無法聽到交換器上其他網路埠的流量(假設另一個網路埠上有一臺主機B)。

可是若你使用ARP,騙B說A是閘道,這樣B的流量就會先經過A,A再轉閘道,這樣就是所謂的中間人攻擊(Man-in-the- middle),你就可以在交換器環境底下竊聽。當然對於駭客來說,竊聽還不夠,既然網路封包都流過來了,乾脆改一改再轉送,這就達到竄改的目的。

這些不需要什麼高深的TCP/IP理論,也不需要去算TCP的流水號,一切都很簡單。而且中國網站上已經很多有這樣的ARP工具讓人下載,很多小駭客甚至都已經玩到相當熟練了。


Cain & Abel可以用ARP掃描區網內主機,竊聽這些設備的POP3、Telnet、FTP、網芳等流量,還可以來偽造憑證,來執行SSL Man in the middle的行為。

ARP掛馬的原理
掛馬是甚麼,不需多做解釋,我現在要講的是ARP掛馬。

我想先介紹一個常見的ARP掛馬「zxarps」,這真的是最基本,而且是沒有隱藏技術的。實際上,有一些後門程式本身就內建ARP掛馬或竊聽功能。

先來一個簡單的用法。

將指定的IP段中用戶瀏覽的所有網站,都插入一個iFrame。

你注意,可以限定瀏覽者的IP。看得到這些資料的只有某些地區的人而已,外國人是看不到的。這對有心人士來說,是很好的功能,由於攻擊區域越小,所以被發現的機率越小,因此全世界其他地方,似乎都沒有發現異狀,另外還可以降低該主機的處理負擔。

再來觀察一個厲害的功能。你以為要看到Redirect轉址,才是惡意網站嗎?駭客有更狠的招數。

例如,一旦嗅探到目標下載檔案的副檔名是EXE,則更改Location:為http://xx.net/test.exe

你看,直接將你在信任的網站所下載的EXE檔,改成他後門的EXE檔,等你執行完的時候,還來得及發現嗎?

ARP掛馬工具「zxarps」將特定網頁伺服器所回傳的任何頁面,都插入一個連到www.yahoo.com.tw的隱形iFrame,這將讓所有瀏覽該網頁伺服器的使用者,不自覺地被導向www.yahoo.com.tw。

ARP駭客工具介紹
其實,還是得強調一件事,ARP攻擊這種駭客技術已經很成熟,在很多IDC機房,內網也都被運用到一種程度了。

上述是惡意的ARP掛馬,接下來再介紹其他利用ARP技術的駭客工具。有些中國製的ARP後門、ARP病毒,甚至做得比外國人寫的好,也更小。

在這些手法當中,你可能覺得ARP駭客工具似乎都是偷密碼,沒創意。事實上,才令人激賞的是,ARP工具也可以當網管工具!

Cain & Abel
最有名的就是oxid.it的Cain & Abel,這套工具不但可以用ARP掃描區網內主機,指定你要竊聽的主機,可以聽POP3、Telnet、FTP、網芳,還可以來偽造數位安全憑證,來執行SSL Man in the middle的竄改行為。

網絡執法官
藉由此工具,你可以管控區域網路內誰可以上網、誰不能上網,充分展現「不是網管也能當網管」的精神。其他像是網絡剪刀手、局域網終結者等工具,也可以切斷區域網路任何主機的連線,使其無法上網。

利用ARP 技術,同時也可以看到區域網路所有主機的IP,因此也能用在網路管理上,就像ARP P2P管理工具。例如在宿舍,有些人每天開著P2P養驢子下載、搶頻寬,如果懂得利用這種ARP P2P管理工具,即可藉由上述ARP的Man-in-the-middle技術,直接分配每個人頻寬。

這些工具顯示出目前ARP攻擊技術的成熟與危險。不少人都很清楚,集線器(Hub)的連線環境非常不安全,或者自以為處在交換器環境是安全的,這些是極為危險的觀念。

藉由這些工具,我想提醒你,要多認識ARP攻擊對目前我們網路所造成的影響,也希望你開始提防ARP掛馬或ARP置換攻擊,因為這些惡意行為已經出現在很多地方。

透過ARP,不只是用來作一些破解、側錄的行為,也可以用來
控管內部網路電腦能否上線,例如網絡執法官這套工具。


預防與偵測方式
對於ARP攻擊的預防方式其實很簡單。根據原本ARP規範,如要詢問主機收到ARP回應便更新主機上的ARP記錄,你可以使用arp–a 的指令,來顯示目前主機上所記錄的附近電腦網路位址。接著你可以使用靜態ARP,將ARP table中主機與MAC位址的對應記錄固定下來,這時可以利用arp –s 的指令來做到。

網路上也有許多所謂的ARP 防火牆(如AntiARP)或是ARP偵測工具,主要都是利用監控ARP request與reply封包,並在程式表裡的ARP記錄是否有異常。例如突然有一個ARP封包表明它是閘道,但是之前我知道的閘道MAC位址,明明就 不是後來那個ARP所說的,這就可能是ARP攻擊出現了(畢竟,閘道MAC位址很少常常換吧)。

企業與網管人員的因應之道
對於區域網路的安全性,多數網管或資安技術人員都會有一個迷思,那就是在最重要的伺服器上防護──不但在這些系統的前面安置防火牆、建立漏洞修補管理系統、安裝防毒軟體、甚至花費昂貴費用執行滲透測試。雖然該伺服器如同堡壘一樣堅固,卻疏忽了傳輸途徑上的風險。

這就像電影300壯士一般,就算Leonidas 率領的三百位斯巴達戰士,勇猛地將溫泉關守得滴水不漏,最後仍因為波斯軍團繞道包圍,還是難逃全軍覆沒的命運。

因此對於伺服器的保護,不能僅著眼於碉堡式的防禦,而是必須落實整體性防守。

以防護ARP掛馬來說,目前已經出現能符合這類企業區域網路環境防護需求的方案,其做法就是在區網內的主機上,安裝監控程式或建置監控主機,這些 措施不但能鎖定閘道的實體位址,也會監視相關ARP封包的狀態,持續掌握每個電腦IP位址與MAC的對應關係,並且能阻擋未經允許的電腦設備私自使用內部 網路。

此類產品的所宣稱的功能,大致有下列幾項:

1. 自動掃描區網內所有IP與MAC位址的對應

2. 設定IP/MAC位址對應並依照網管需求進行管控,甚至不需在用戶端安裝代理程式(Agent),即可達到員工監控或過濾的功能。

3. 偵測異常ARP封包

4. 偵測非法主機接入區域網路的動作

5. 依各網段進行管理

6. 集中控管與報表能力

7. 防治ARP病毒或木馬的擴散

接下來,我想用上面「企業區域網路ARP防護」的示意圖來解釋如何做到防護。

這是一個常見的區域網路,我們將ARP毒害威脅考量進去,再加上ARP防護監控方案的佈建架構。建構區域網路時,可參考這樣的防禦措施,以防止ARP相關威脅。

在圖中,每一臺伺服器上都設定了Static ARP,將閘道器的實體位址給綁定,這是目前區域網路防範ARP毒害的基本措施。而區域網路中,視需求另外設置了一部ARP企業監控主機。

在這個例子中,企業主可能需要監控員工電腦是否有異常行為,而網管人員在此所使用的方式是利用ARP手法來將流量導引至監控主機,而非正規的在閘 道口進行監控,這兩種方式都可達到流量分析與監控的目的,但若使用ARP手法須留意該監控主機本身的效能,因為該主機需要處理區網內每一臺需監控的個人電 腦。

另外,企業區網中常見的一個威脅,便是私接筆記型電腦或個人電腦。利用監控主機ARP監控,可記錄原本存在區域網路中的伺服器與個人電腦,一旦有 私接的電腦接上區域網路,因它們會發送ARP相關封包,將會被監控主機偵測到,而經由比對原本的IP與MAC位址列表,便可獲知是哪一臺電腦主機。

由於目前ARP監控軟體中都有內建網卡廠商的MAC位址範圍,因此可得知網卡廠牌,協助網管人員盡速找出私接主機。

最後,若是隔壁部門的伺服器遭駭、對區網發動ARP毒害,這時監控伺服器將會比對這些ARP封包,發現有人欲冒充網路閘道設備,這時監控伺服器便會記錄異常行為並發出警告,讓系統管理人員了解目前區域網路確實是存在惡意主機,不會毫無所悉。

1 個人電腦可由「合法」的ARP Poison方式,導引到監控主機,以便管理或內容過濾。
2 私接的筆電連上網路後,監控主機將會察覺,並發送警告給管理者。
3 如果遭ARP毒害的外單位主機想要詐騙網頁伺服器,也無法完成,因為會被偵測出來。

用arp–a能顯示目前主機上的ARP table,用arp –s可將ARP table中主機與MAC位址的對應記錄固定下來。

內網安全蒙上新陰影
這次可疑網站轉址事件,造成許多民眾與資安專家的恐慌,在資訊不足的情況之下,眾說紛紜是情有可原的。

而目前最夯的ARP掛馬,已經非常氾濫與流行,許多機房其實未必安全,即使你確實將自己的伺服器保護得很好,例如修補、裝防毒軟體甚至定時檢查系 統,但只要鄰居遭駭,你一樣會受到影響。除了本文所述的流量被插封包,可能連主機帳號密碼、使用者資料全都被竊取,這是目前許多機房並未注意的問題點,我 希望藉由過去的一些事件與ARP攻擊工具的介紹,讓你了解這項手法,並能更加注意區域網路安全。

編按:作者是一位經驗豐富的網路安全專家,也深諳國內外資訊安全相關的技術。基於一些個人理由,他不便具名發表本文,但透過這篇文章的介紹,他想提醒企業正視這項網路技術遭惡意人士濫用的嚴重性,以及可以反過來應用強化網路控管的可能性。

轉自IThome

Process Explorer 工具簡易說明


Windows Sysinternals 是一套進階的系統管理工具,原本是由 Sysinternals Inc. 這家公司發產的產品(大多是免費的),可能因為做得太好了,在 2006 年 7 月時被微軟併購成為旗下的一套產品,這套產品中最有名的一個工具程式我覺得應該是 Process Explorer,他可以說是【Windows 工作管理員】的進階版,提供的資訊多到數不完,我想應該很多人都用過這個 Process Explorer 工具,但真的瞭解怎麼用的人我想應該不多吧,因為說明文件也沒寫什麼,我個人也沒有完全看的懂上面的所有欄位的真正意義(大概有上千個吧),我今天就說一些我經常在用的一些功能與查看有用資訊的技巧。

1. 程序之間的階層關係 & 判斷執行檔的類型

Process Explorer Screenshot

如 上圖,我用紅色框線框起來的地方就是指我的 notepad++.exe 程式是從 WinKey.exe 執行起來的,但你可能會想,如果我將 WinKey.exe 砍掉,會不會也將 notepad++.exe 也連帶砍掉呢?其實是不會的,而是 notepad++.exe 會自動拉高到自己為主程序。

另外,你也可以很容易的使用顏色來區別執行檔的類型,其中:

  • 黃色:代表此程式是一個 .NET 的應用程式。例如說我用 Process Explorer 就發現原來 Yahoo!奇摩輸入法 就有支程式是用 .NET 寫成的。
  • 紫色:代表此程式是一個 Pack (包裝) 過的程式,也就是說這個程式本身又被包了一層程式,意思也就是說該程式是被「修改過」的程式,並非為原本的程式喔!通常這種程式有兩種可能:
    1. 中毒的程式:病毒讓你的程式還是可以正常運作,讓你覺得程式沒問題,但是私底下可能「多做了一些事」讓你沒感覺。
    2. 壓縮過程式:知名的 UPX (the Ultimate Packer for eXecutables) 工具程式就是專門用來將你製作出來的執行檔壓縮過,讓你的執行檔變小又能正常執行的工具。
  • 粉紅色:此程式為一個 Windows 服務。

至於其他的顏色所代表的意義,你可以從功能選單的 Options -> Configure Highlighting 查得完整的顏色定義,當然你也可以修改掉,如下圖:

Process Explorer - Configure Highlighting

2. 查看該程序(Process)到底開啟了哪些檔案或使用到哪些 DLL

查看該程序(Process)到底開啟了哪些檔案或使用到哪些 DLL

如上圖,你可以點選功能選單的 View -> Show Lower Pane 開啟 Lower Pane(或按下 Ctrl + L 快速鍵)查看程序載入了哪些 DLLs 或開啟了哪些 Handles (目錄, 檔案, 事件, 機碼, 執行緒, ..., etc. )

Process Explorer - Show Lower Pane

如 上圖範例,我按下了 Ctrl + H 開啟 Handles View,你可以看到圖中的 KeyKeyServer.exe 開啟了一些檔案,以上圖為例我選取了 D:\Program Files\Yahoo!\KeyKey\zh-TW\Preference.resources.dll 程式,這時如果你想要刪除這個檔就會被通知「刪除檔案或資料夾發生錯誤」的錯誤訊息(如下圖),如果真的想強制刪除的話,可以在該 File Handle 上按下右鍵選擇 Close Handle 強制關閉這個 Handle,你就可以正常刪除檔案了,不過你原有的程式就很有可能會出錯或中斷執行,我是不太建議這麼做。

刪除檔案或資料夾發生錯誤

3. 查看完整的系統資訊

Process Explorer - System Information

當 你按下功能選單的 View -> System Information 或按下 Ctrl + I 快速鍵就可以看到這個完整的系統資訊,有時後我們電腦變慢可能跟 CPU 或 Memory 無關,而是 Disk I/O 過高導致拖慢程式執行的速度,透過這個畫面就可以一目了然你整台主機的運作狀況。

4. 瞭解你的 .NET 應用程式的執行狀態

有在寫 .NET 的人對這裡的技巧可能就會很有興趣了,我以 SharpReader 為例說明如何查看 .NET 相關的資料。我先啟動 SharpReader 應用程式,然後在 Process Explorer 上雙擊 SharpReader.exe 出現 Properties 視窗,然後點選 .NET 頁籤。

在 Process Explorer 上雙擊 SharpReader.exe 出現 Properties 視窗,然後點選 .NET 頁籤

你會看見第一個區塊是 AppDomains,他會列出該程序所建立的所有 AppDomain 清單。下方是 .NET Performance Objects 區塊,這裡你就可以選擇不同的效能物件,用以查看該 .NET 應用程式的各種狀態。

.NET CLR Exceptions

  • # of Exceps Thrown:這個程式總共發生了幾次 Exceptions,當你用 try / catch 捕捉到例外事件時,每捉到一次這邊就會加 1,你要知道 Exception 對效能的影響是很大的,對單機程式來說或許沒什麼差別,但是對多人使用的程式(如:ASP.NET)在人多的時候就會有差別了!
  • Throw To Catch Depth / sec:代表他統計你的程式平均每秒捕捉到深度統計,因為 try / catch 是可以很多層的,我是不太知道算出這個數據有什麼意義,不過應該是數據越高越不好吧!

Process Explorer - .NET CLR Exceptions

.NET CLR Interop

  • # of CCWs:所謂的 CCW 是 COM Callable Wrapper 的縮寫,是指這個 .NET 程序中有幾個物件被封送(Marshaled)成 COM 物件。
  • # of Stubs:代表這個 .NET 程序中有幾個成員(Members)被 Export 到 COM 物件供其他程式使用。
  • # of marshalling:代表這個 .NET 程序中被封送(Marshaled)處理的總數。
  • # of TLB imports / sec:所謂的 TLB 是指 Type Library 的縮寫,也就是平均有多少型別(Type)被匯入此 .NET 程序。
  • # of TLB exports / sec:平均有多少型別(Type)被匯出到 COM 物件。

Process Explorer - .NET CLR Interop

.NET CLR Jit

  • # of Methods Jitted:代表到目前為止有多少方法(Methods)被編譯成機械碼(Machine Code 或 Native Code)。
  • # of IL Bytes Jitted:有多少 MSIL 位元被轉譯成機械碼。
  • Total # of IL Bytes Jitted:總共有多少 MSIL 位元被轉譯成機械碼。
  • Standard Jit Failures:轉譯成機械碼失敗的次數。
  • % Time in Jit:轉譯成機械碼所佔的時間百分比(因為可能有些程式寫了很多動態編譯的程式碼)。

Process Explorer - .NET CLR Jit

.NET CLR Memory

這 裡的物件就很重要了,雖然 .NET 有個很棒的自動記憶體管理機制,但並不代表你就可以完全不管,雖然再怎麼亂用也不會發生 memory leak 的問題,但卻很有可能會發生 OutOfMemoryException 例外狀況,或是因為資源回收器(GC, Garbage Collector)頻繁啟動而導致的程式執行效能降低的情況,因為每次資源回收器啟動時都會將程序中所有執行緒(Threads)凍結,以便讓 GC 檢查受管控的堆積(stack)。詳細的 GC 運作機制可參考 大內高手專欄.NET 的自動記憶體管理 文章、.NET Framework記憶體回收機制 文章或 C# 精要 (C# Essentials) 一書,有意想深耕 .NET 領域的人不能不瞭解 GC 的運作機制,當你瞭解之後就看的懂底下這些欄位的定義代表什麼了。

Process Explorer - .NET CLR Memory

其實還有許多其他相關的物件我沒有介紹,老實說我也不是全部都懂,但是等你越瞭解 .NET 的核心,就越能瞭解這些 Counter 所代表的意義。

轉自http://blog.miniasp.com/?tag=/process+explorer

使用 SPFDisk 來進行磁碟救援


天有不測風雲,電腦這種電子產品也難保長長久久。有時候硬碟難免因為不正常關機、病毒破壞、安裝作業系統時誤刪... 等等種種原因而導致硬碟分割表損毀,也使得硬碟裡的資料毀於一旦。

所謂的硬碟分割表損毀,指的像是電腦突然找不到開機磁區而無法開機、數個磁碟分割區憑空消失、或是硬碟分割表直接被清空了... 而使用 SPFDisk 之類的磁碟軟體來查看硬碟分割表時,發現硬碟分割表已經錯亂或是完全沒有資料,那很有可能就是遇到硬碟分割表損毀了。

但若只是硬碟分割表損毀,但硬碟裡的資料還安然無恙時,在試過種種方式還是無法回復原有的硬碟分割表時,您可以考慮使用 SPFDisk 來進行磁碟救援。筆者日前在安裝 FreeBSD 時,不知為何 F 槽和 G 槽都消失了,變成了『未使用空間』,就是經由以下步驟救回來的,過程不用 2 分鐘哦!

警告: 因為進行『磁碟救援』並無法保證絕對能完整救回您硬碟裡的資料,相反的,進行『磁碟救援』很有可能會反而使得您硬碟裡的資料一去不復返。您應該將『磁碟救援』視為最後的救援手段。非必要請勿輕易嘗試!

事前準備

如果您手上能有目前的磁碟分割表的資料,那麼在進行磁碟救援時將會事半功倍。

但是一般都是等到硬碟出問題了,才發現事前的預防是多麼的重要... 還好的是,SPFDisk 有一些內建的小工具可以幫助您找回舊有的磁碟分割表。

首先,進入 SPFDisk,並進入磁碟分割程式。在下圖中,您可以看到硬碟是全空的,完全沒有殘存的任何磁碟分割表資料。

這時,按下 鍵,就會出現一個工具選單。請按下【4. 處理開機物件】【1. 搜尋開機物件】,如下圖:

SPFDisk_29.png

接下來它會詢問您【是否將結果存檔】。基本上是不太需要的:

SPFDisk_30.png

接下來它會詢問您【是否搜尋磁柱的每一個面】。如果按下【Y】的話,它會掃瞄每個磁柱的內容;如果按下【N】的話,它只會檢查磁柱的開頭部份。為了節省時間,您可以選擇【N】

SPFDisk_31.png

最後搜尋結果出來了,的確找到了所有的磁區:

SPFDisk_32.png

請用紙筆將結果記下,在下個步驟中這些資料就可以派上用場了!

注: 請不要 100% 相信以上所掃瞄到的結果,我們並無法擔保 SPFDisk 真能找到所有的磁碟分割區。所以事前的預防工作真的很重要!

如何進行磁碟救援

有了正確的硬碟分割表,那麼進行磁碟救援的工作將會輕鬆許多。

為了能修正已損毀的硬碟分割表,您可以依您手上的硬碟分割表資訊,使用 SPFDisk 再一次寫入正確的硬碟分割表。

在設法回復擴充分割時,若是得到【發現殘存的邏輯分割表,是否嘗試寫入?】的資訊:

SPFDisk_33.png

就表示在您手上的硬碟分割表資訊裡的擴充分割部份應該是正確的。

注意:

若在回復擴充分割時,沒有出現【發現殘存的邏輯分割表,是否嘗試寫入?】這個資訊, 就表示在您手上的硬碟分割表資訊裡的擴充分割部份有可能是不正確的。 這時請勿任意將分割結果寫入硬碟裡,至少,請勿再分割任何的邏輯分割, 因為這很可能會損壞位於該擴充分割裡的資料。 建議您再試著其它方式來找出您的擴充分割的真正位址。

但還好的是,在上文中示範了如何使用 SPFDisk 來找出殘餘的邏輯分割區,如果沒有意外的話,按照 SPFDisk 所找到的邏輯分割區來劃分成功機率將會高出許多。

而主要分割區則沒有這個顧慮了...

將復原後的分割表寫回磁碟

設定好正確硬碟分割表後,按下 ,就會跳出 SPFDisk 的磁碟分割程式。這時它會詢問您是否要將變更寫入磁碟中:

SPFDisk_21.png

接下來它會再試確認您所要寫入的磁碟是否正確:

SPFDisk_22.png

這時,它會詢問您是否使用【破壞性儲存】。因為我們是在進行磁碟的救援,所以務必在此要選擇:【N】

SPFDisk_23.png

注意:

若您在此選擇了【破壞性儲存】,將很可能會破壞硬碟裡原有的資料。不可不慎!

然後會出現以下畫面。由於我們在進行磁碟的救援,所以務必在此要選擇:【N】

SPFDisk_24.png

然後它會詢問您是否建立 UNDO (還原) 檔:

SPFDisk_25.png

如果您有看到【分割表現已儲存完畢!】資訊,表示新的分割表已正確寫入了:

SPFDisk_26.png

然後就可以放心離開了:

SPFDisk_27.png

因為分割表已有所更動,您必須重新開機才能讓這些變更生效:

SPFDisk_28.png

這時,您可以開機試試是否所有的資料都已完全回復了!

重新開機測試

在小心得寫回正確的硬碟分割表後,您可以重新開機並確認在硬碟裡的資料是不是已全部回復了。如果還是沒辨法,您可能要檢查一下是否寫入了錯誤的分割表,或是試試其它的磁碟救援方式。

轉自http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=43&blogId=1

TestDisk:救回消失的磁碟分區


SPFDisk 雖有著親切的中文介面,在功能上也頗能應付需求,但在某些方面卻還是有著其不足之處。

比如說,以下為某顆硬碟的硬碟分割表。這是一個安裝了 GNU/Linux 及 Microsoft Windows XP 雙系統的硬碟:

分割區
格式
說明
1
reiserfs
安裝了 Debian GNU/Linux
2
ntfs
安裝了 Microsoft Windows XP
3
(擴充分割區)
(擴充分割區)
4
(未使用)
(未使用)
5
vfat
資料共用區
6
swap
GNU/Linux 所專用的 swap 分割區
而以 SPFDisk 開啟的話,乃顯示如下:

接下來,我們試著故意將磁碟分割表破壞掉。重新開機後,SPFDisk 顯示硬碟分割表錯亂了:

我們試著用 SPFDisk 進行救援。其結果如下:

我們可以發現,SPFDisk 並無法找到所有的分割區;它只能分辨 NTFS 及 VFAT 分割區。且以上所顯示的資訊對一般的人而言實在過於艱澀,僅依靠這些資訊就算是老手也不容易能就此進行磁碟救援。因此,我們在此介紹另一個更易於使用的自由軟體,TestDisk

警告: 因為進行『磁碟救援』並無法保證絕對能完整救回您硬碟裡的資料,相反的,進行『磁碟救援』很有可能會反而使得您硬碟裡的資料一去不復返。您應該將『磁碟救援』視為最後的救援手段。非必要請勿輕易嘗試!

和 SPFDisk 類似的,TeskDisk 也是一個開放原始碼的自由軟體。它能見於 DOS/Win32/Linux/Sun/Mac 等各種常見的電腦平台上。由於自由軟體的特性,您可以隨心所欲、無限制得 使用/散佈/修改 這些軟體。這也是我們推薦使用自由軟體的主因。

在 Debian GNU/Linux 裡,使用以下指令就能輕鬆將 TeskDisk 安裝至系統裡:

aptitude install testdisk
但若您沒有 Debian GNU/Linux 系統,您可以下載 TeskDisk 的 DOS 版並將其放入 DOS 開機片中。在開機完成後,鍵入 teskdisk 來執行它。

如圖,這是 DOS 版的 TeskDisk 的啟動畫面,在它的歡迎訊息之下的,是訊問您要如何處理 Log 檔案。在此個人是選擇 [ No Log ]

接下來是選擇要在哪顆硬碟上進行救援:

為了讓 TeskDisk 能順利將正確的硬碟分割表寫回,請選擇正確的硬碟分割表格式。在此個人是選擇 [ Intel ]

接下來就要開始進行救援了。請按下 [ Analyze ] 開始分析硬碟:

因為我們的磁碟分割表已完全損毀,所以它可能會出現以下錯誤訊息。我們可以不理會並繼續進行:

接下來,它會訊問您,這個硬碟是不是使用 Vista 進行切割的。如果不確定,就選 [ Y ]

不一會功夫,它就找到所有的分割區了。經過比較,我們發現在此所找到的分割表和原本的分割表並無二致,TestDisk 真是一點都不含糊。請在此按下 [ T ] 改變磁碟格式、按下 [ L ] 載入備份檔,或按下 [ Enter ] 進入下一步:

如果您想讓 TestDisk 再進行更詳盡的偵測,請在此選擇 [ Search! ],但應該是沒必要的:

接下來,選擇 [ Write ] 將結果寫入磁碟分割表。因為這顆磁碟分割表原本就損壞了,所以在此即使是寫入錯誤的資料其實也無所謂,硬碟裡各分割區的資料若無意外應該是不會因此被破壞掉的。但還是請戒慎恐懼方為上策。

這是在寫入磁碟前的最後確認。請務必三思:

最後,TestDisk 會告訴您,請重開機讓變更生效。

接下來,請按下 [ Quit ] 離開:

我們可以在此再選擇另一顆硬碟進行救援,或按下 [ Quit ] 離開:

最後在離開前,TestDisk 會再提醒您一次,請重開機讓變更生效。

好了,您可以重新開機試試是否所有的資料都已完全回復了。但如果這樣子還是無法將資料救回,您可能得試試其它的磁碟救援方式了。

在救援磁碟分割表方面,TestDisk 可以說是最著名的軟體了。自由軟體雖然往往沒有任何商業公司在背後支援,但它的功能卻往往超越其它同類型的商業軟體。這也許是自由軟體最迷人最不可思議之處吧?

TestDisk Download

轉自http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=196

如何在USB隨身碟中裝入Helix 工具(傻瓜教學)


以下裝機法大多來自Knoppix中文交流網 。(這 些都是無私的linux工程師們弄出來的。我幻想中搞linux的人,大概都是吃素,力行環保,坐公車,必要時會加入聯合國維和部隊接近聖人的好人。現在 玩Linux,就是介面上還差一點點,如果能完全模擬windows系統的使用習慣,我想一定有更多人投入linux的懷抱。Windows系統實在太 貴,一般人花大把銀子只使用到少部份的功能,但其實個人電腦常用的功能,linux都已經做的不錯了。至於打電動,有Wii就夠了。)

第一:你要有一隻USB隨身碟 ,容量要1G左右
(卡關點: 沒有USB隨身碟.....小白啊,那你還看到這裏,自已去買啦)

第二:你的電腦主機版支援usb開機
(卡關點:不知道??開機時按Delete鍵,在主機版設定畫面中,在 boot 選項中去找,first boot device,按上下或左右鍵選,有usb-xxxx字樣的可能就可以)

第三:先抓一隻程式http://mytopfiles.com/archives/file/syslinux-3-63/311446.htm
(卡關點:抓?怎麼抓?什麼怎麼抓,按下去就對啦!)

第四:再抓一片Helix Live CD
(卡關點:聽不懂,什麼是LIveCD?這是一種把作業系統塞進一張光碟的作法,不必安裝,開機就能玩。缺點是無法儲存資料,而且只能下載高手打包好的iso檔來燒,很難加進去自已要的東西。這也是拿USB來裝作業系統比LiveCD有趣的地方。)最近Helix好像要收錢了,載點各位自己再找找看吧~


好,1234這四點而已,再來就可以開始玩了。

首先把你的隨身碟插進去USB裏。如果你是那種512M的,別玩了,不夠大。至於256M的,直接丟進垃圾桶。在我的電腦裏面,可以找到它的代號是 d:, e:, 或是f: 等等,記起來。(以下文中我會以
x:代替) 如果是新的,跳到下一步。裏面有資料的話,先copy出來,然後在『卸除式磁碟 (x):』的代號上按右鍵,進行格式化。格式選fat就可以了。

(卡關點:還是不知道你在說什麼。其接貼兩張圖給你看)



再來解壓縮開syslinux-3.36.zip那個檔案,裏面有一個win32的子目錄,把它複製到 c:\下面。

按windows左下角的『開始』,選『執行』,打入『cmd』按enter
出現dos視窗,此時打入『cd c:\win32』按enter
然後打入『syslinux
x:』按enter (x:是你的隨身碟的代號)


這樣隨身碟就搞定了。

所有難的都在前面,再來是安裝。意外的容易,根本不是安裝,把檔案copy過去而已。
這步你要先能看到抓下來的那個
Helix iso檔裏面的檔案。
(卡關點1:什麼是iso檔??這是把整張光碟映射成一個檔案的意思,和你們公司申請的iso9000認証一點關係都沒有。iso檔裏面其實記錄了一整片 光碟的資料,可以使用程式把這個檔模擬成一張光碟,直接讀裏面的內容。我比較喜歡用alcohol 120%來掛載這個iso檔,讓它模擬成一台光碟機,再從我的電腦進去看。不然,用 winiso也可以。)

(卡關點2:alcohol 120%和winiso都不會用。如果你不會使用軟體,乾脆把這iso用nero燒成一片光碟也可以再來讀。)

好了,總算看到iso檔的內容了,再來就是你最會的copy了:(此段抄自knoppix那一帖)
a.將光碟資料夾isolinux內的東西統統複製到隨身碟根目錄內。
b.隨身碟根目錄內將isolinux.cfg改名為syslinux.cfg
c.隨身碟根目錄內將isolinux.bin改名為syslinux.bin
d.複製光碟內容,把所有光碟下所有目錄直接整個copy到隨身碟根目錄中,光碟根目錄有東西也複製到隨身碟中。

這樣就OK拉~

文章轉自http://www.wretch.cc/blog/billypan101/8763526