压缩与反压缩之 COMPRESS 与 EXPAND
生活随笔
收集整理的這篇文章主要介紹了
压缩与反压缩之 COMPRESS 与 EXPAND
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)自Alexis Zhang's Blog,ITECN的blog水平比起51cto是高不少的,只是牛人們一般不愛寫blog,所以更新很慢....
壓縮與反壓縮之 COMPRESS 與 EXPAND
筆者前幾天被一個(gè)看似簡單的問題給問住了:我們知道,擴(kuò)展名最后一位是下劃線 _ 的文件是一種經(jīng)過壓縮的文件,必須通過 EXPAND 或 EXTRACT 命令將其還原。例如執(zhí)行:EXPAND \i386\SHELL32.DL_ SHELL32.DLL 可以從 Windows 安裝程序中將 SHELL32.DL_ 還原為 SHELL32.DLL。那么 EXPAND 命令的相反命令是什么呢?即如何將一個(gè)正常的文件壓縮為擴(kuò)展名的最后一位是下劃線的這種格式呢? ? 這個(gè)問題最早是新聞組中的一位仁兄問起如何更換 Windows XP 的默認(rèn)墻紙。眾所周知,剛安裝好的 Windows XP 默認(rèn)使用的是那副曾經(jīng)被人傳說包含有“WHG KILL ME”驚天大秘密的藍(lán)天白云墻紙 BLISS.JPG,BLISS.JPG 的源文件就是位于 i386 中的 BLISS.JP_。如果我們希望剛安裝好的 Windows XP 使用另一副默認(rèn)墻紙,應(yīng)該如何將這張墻紙壓縮為 BLISS.JP_ 并替換 i386 中的源文件呢? ? 除了這個(gè)問題,筆者前不久又看到了一家 OEM 廠商制作的 OEM 版 Windows 安裝啟動(dòng)鏡像,由于鏡像中的安裝源文件夾名稱沒有采用默認(rèn)的文件夾名,必須要修改 TXTSETUP.SIF?中的字符串 SetupSourcePath 以重新指定安裝源文件夾名,否則安裝鏡像將無法正常引導(dǎo)。筆者起初也不太清楚 OEM 廠商是如何將修改好的 TXTSETUP.SIF 重新壓縮為?TXTSETUP.SI_ 并復(fù)制到 i386 文件夾中的。 ? 經(jīng)在線合作伙伴工程師馬寧指點(diǎn),EXPAND 的相反命令原來是 COMPRESS,這個(gè)命令包含在 Windows 2000/Server 2003 的 Resource Kit 中,需要從 Resource Kit?單獨(dú)獲取。COMPRESS 命令的用法與 EXPAND 基本相似,基本格式為: ? COMPRESS 源文件名 目標(biāo)文件名(例如 COMPRESS C:\Windows\system32\SHELL32.DLL D:\i386\SHELL32.DL_) ? 或者: ? COMPRESS -R 源文件名 ? -R 是 COMPRESS 的基本參數(shù),意為將源文件壓縮并重命名為擴(kuò)展名最后一位下劃線的這種格式,使用它就可以不用再指定目標(biāo)文件名了。 ? 此外,COMPRESS 命令還有幾個(gè)常用的參數(shù): ? -D:用于目標(biāo)發(fā)生改變的文件; -ZX:使用 Lempel-Ziv(LZX)壓縮方式,可以將壓縮包最多減小至 18% 的體積并將自解壓速度提升至將近 50%; -Z:使用 MS-ZIP 壓縮方式,實(shí)際就是 .CAB 采用的壓縮格式; -ZQ [ N ]:N 是取值從 1 至 7 的數(shù)字,表示壓縮比,例如 -ZQ5,其中 1 表示速度最快、7 表示壓縮比最大,如果不指定這個(gè)參數(shù),將使用默認(rèn)的 LEVEL 4 中等級(jí)別。 ? 為了證實(shí)上述問題,筆者對(duì)照那張 OEM 廠商制作的 OEM 啟動(dòng)鏡像自制了一個(gè) Windows XP SP3 的啟動(dòng)安裝鏡像,同樣不采用默認(rèn)源文件夾名稱,而是將 TXTSETUP.SIF 中的 SetupSourcePath 修改后,使用?COMPRESS 將其壓縮為 TXTSETUP.SI_ 并替換 i386 中的源文件;接著,筆者又將 Windows Vista 的 AURORA.JPG 極光墻紙重命名為 BLISS.JPG、使用 COMPRESS 壓縮為 BLISS.JP_ 并替換 i386 中的源文件;最后,筆者還將 Windows XP SP3 的并發(fā)連接破解補(bǔ)丁與視覺樣式破解補(bǔ)丁文件 TCPIP.SYS 與 THEMEUI.DLL 也使用 COMPRESS 壓縮并替換 i386 中的源文件(關(guān)于并發(fā)連接破解補(bǔ)丁與視覺樣式破解補(bǔ)丁可以參考筆者較早前的一篇博客《Windows XP SP3 版并發(fā)連接破解補(bǔ)丁與視覺樣式破解補(bǔ)丁》)。 ? 接下來筆者啟動(dòng)虛擬機(jī),使用這份經(jīng)過三處改動(dòng)的啟動(dòng)安裝鏡像安裝 Windows XP,整個(gè)安裝過程沒有任何錯(cuò)誤,證明 Windows 安裝程序可以正確識(shí)別并解壓縮筆者用 COMPRESS 壓縮的三個(gè)文件,預(yù)期的三個(gè)目的也全部實(shí)現(xiàn)了:1.根據(jù) TXTSETUP.SIF 提供的信息在自定義的文件夾中找到安裝程序源文件;2.安裝好的 Windows XP 默認(rèn)墻紙變成了 Windows Vista 的 Aurora 極光墻紙,盡管文件名依然還是 BLISS.JPG;3.安裝好的 Windows XP 使用了經(jīng)過破解的 TCPIP.SYS 與 THEMEUI.DLL,可以直接突破并發(fā)連接限制并使用第三方的視覺樣式了。 ? 總之,COMPRESS 與 EXPAND 就是一對(duì)壓縮與解壓縮孿生兄弟,一個(gè)可以方便修改 Windows 安裝程序源、一個(gè)可以方便從 Windows 安裝程序源提取文件。在沒有安裝其它第三方壓縮軟件的時(shí)候,COMPRESS 與 EXPAND 也可以實(shí)現(xiàn)一些簡單的壓縮與解壓縮工作。轉(zhuǎn)載于:https://blog.51cto.com/xmuxsp/107102
總結(jié)
以上是生活随笔為你收集整理的压缩与反压缩之 COMPRESS 与 EXPAND的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 波形捕捉:(1)枚举捕捉设备
- 下一篇: 纯C#代码的Excel读取器(不需要Of