狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

UPX 功能介紹與使用方法

admin
2025年3月24日 22:33 本文熱度 373

UPX 是什么

UPX 全稱是 "Ultimate Packer for eXecutables",是一個(gè)免費(fèi)、開源、編寫、可擴(kuò)展、高性能的可執(zhí)行程序打包程序。換句話說一個(gè)可執(zhí)行文件的壓縮工具。主要的功能是將可執(zhí)行的二進(jìn)制程序、動(dòng)態(tài)鏈接庫和其他的二進(jìn)制文件壓縮為更小的體積,UPX 通常可以將文件大小減少 50% - 70%。從而減少磁盤空間占用、降低網(wǎng)絡(luò)傳輸所需帶寬、以及分發(fā)成本(UPX 創(chuàng)建于 1996年,那時(shí)大家都在使用軟盤,所以存儲(chǔ)空間十分寶貴,也凸顯了可執(zhí)行程序壓縮的必要性)。

同時(shí) UPX 還有以下優(yōu)勢(shì):

  • 可靠性: UPX 內(nèi)部維護(hù)了一套校驗(yàn)邏輯,對(duì)壓縮前和解壓后的文件進(jìn)行校驗(yàn),以保證程序的完整性。
  • 安全性: 由于UPX 多年來一直是開源項(xiàng)目,因此任何開發(fā)者、防病毒軟件廠商都能看到 UPX 壓縮程序內(nèi)部邏輯并驗(yàn)證安全性。
  • 解壓速度: 在任何現(xiàn)代機(jī)器上,解壓速度都超過 500 MB/秒。
  • 無內(nèi)存開銷: 解壓運(yùn)行壓縮后的程序無需額外的內(nèi)存開銷。
  • 出色的壓縮比: UPX 通常比傳統(tǒng)的 Zip 壓縮算法壓縮效果更好。使用 UPX 可以減小分發(fā)文件的大小,從而在網(wǎng)絡(luò)傳輸和存儲(chǔ)方面節(jié)省資源。
  • 通用性: 可以打包多種可執(zhí)行格式,包括 Windows 應(yīng)用程序和 DLL、macOS 應(yīng)用程序和 Linux 可執(zhí)行文件。
  • 可擴(kuò)展: UPX 良好的代碼設(shè)計(jì),很容易添加新的可執(zhí)行文件格式支持和新的壓縮算法。

UPX 的爭(zhēng)議

UPX 除了上面提到的壓縮功能之外,還有另一個(gè)主要作用就是加殼。既字面意思,將可執(zhí)行程序的外部再包一層外殼程序,并在運(yùn)行時(shí)使用外殼程序?qū)?shí)際的程序來解壓運(yùn)行。

通過 UPX 加殼有以下優(yōu)勢(shì):

  • 安全性:加殼可以提高可執(zhí)行文件的安全性,因?yàn)楣粽吆茈y直接分析或修改外殼程序中的代碼。這樣可以防止惡意修改和病毒注入。
  • 反調(diào)試和反分析:一些外殼程序可以包含反調(diào)試和反分析的技術(shù),使得分析者難以逆向工程和分析程序的邏輯。
  • 授權(quán)保護(hù):加殼可以用于保護(hù)軟件的授權(quán),使其只能在經(jīng)過授權(quán)的環(huán)境中運(yùn)行,從而防止盜版。
  • 代碼混淆:加殼可以將原始可執(zhí)行文件的代碼混淆到外殼程序中,增加分析的復(fù)雜性,從而提高了對(duì)抗逆向工程的能力。

在過去的一段時(shí)間里,一些黑客或者惡意軟件作者使用 UPX 等加殼工具來隱藏惡意軟件和病毒,以逃避殺毒軟件和分析者的檢測(cè)。主要有以下幾個(gè)要點(diǎn):

  • 病毒和惡意軟件的加殼:黑客和惡意軟件作者使用UPX等加殼工具來包裝他們的惡意代碼。這使得分析者和殺毒軟件難以識(shí)別和分析這些惡意軟件,因?yàn)樗鼈冃枰鈮嚎s才能揭示其真實(shí)的目的和功能。
  • 病毒分發(fā):加殼也可用于將惡意軟件嵌入到合法的可執(zhí)行文件中,然后通過社會(huì)工程或其他手段欺騙用戶執(zhí)行。用戶可能認(rèn)為他們正在運(yùn)行一個(gè)合法的程序,但實(shí)際上卻是運(yùn)行了一個(gè)加殼的惡意軟件。
  • 反病毒工具的適應(yīng)性:隨著黑客使用加殼技術(shù)來隱藏其活動(dòng),安全軟件公司也不得不不斷提高其產(chǎn)品的適應(yīng)性,以識(shí)別和處理加殼的可執(zhí)行文件。這導(dǎo)致了反病毒工具的不斷演進(jìn),以更好地應(yīng)對(duì)這種挑戰(zhàn)。
  • 法律和道德問題:加殼技術(shù)的濫用引發(fā)了一系列法律和道德問題。黑客使用加殼來隱藏其犯罪活動(dòng),這導(dǎo)致了對(duì)加殼工具的合法性和使用的爭(zhēng)議。

正因?yàn)樯厦嫣岬降囊恍?zhēng)議,導(dǎo)致大部分情況下,殺毒軟件會(huì)對(duì)加殼的可執(zhí)行文件產(chǎn)生警報(bào)或誤報(bào)病毒。這是因?yàn)榧託ぜ夹g(shù)會(huì)改變可執(zhí)行文件的結(jié)構(gòu)和行為,使殺毒軟件難以確定文件的真實(shí)性質(zhì)。不過隨著殺毒軟件公司對(duì)檢測(cè)引擎的改進(jìn),這些誤報(bào)也在逐漸減少。

為什么使用 UPX

我使用 UPX 的目的是因?yàn)樽约涸诠緝?nèi)部做了一個(gè)運(yùn)維工具,這個(gè)運(yùn)維工具對(duì)部署的便捷程度要求比較高。運(yùn)維工具使用 Go 語言開發(fā),在項(xiàng)目編譯的同時(shí)將依賴的資源文件,借助 Go 語言的 embed 功能打包到二進(jìn)制文件內(nèi)部,使其運(yùn)行只依賴主程序一個(gè)文件。

編譯的 Linux 可執(zhí)行文件有 22 MB 左右,為了進(jìn)一步方便運(yùn)維同時(shí)部署此工具,決定使用 UPX 進(jìn)一步壓縮體積。

如何使用

安裝

訪問官方下載地址:https://github.com/upx/upx/releases/latest

根據(jù)開發(fā)環(huán)境選擇不同的 upx 版本,我的開發(fā)環(huán)境是 Windows,所以選擇的也是 Windows 版本,需要注意的是,upx 可以跨平臺(tái)壓縮,也就是說可以在Windows 的開發(fā)平臺(tái)上壓縮 Linux 平臺(tái)的可執(zhí)行程序。

下載完成后可以選擇直接解壓 upx 主程序使用,或者配置環(huán)境變量來使用。

使用

UPX 的基本使用格式為:upx [選項(xiàng)] 待壓縮的文件

壓縮級(jí)別參數(shù)

  • 默認(rèn)級(jí)別: 通常是一個(gè)壓縮比和消耗時(shí)間的中間選項(xiàng),如果不指定壓縮級(jí)別參數(shù),UPX 會(huì)使用此級(jí)別。
  • -1 ~ -9: UPX 提供了 -1 到 -9 的壓縮級(jí)別參數(shù)。其中 -1 表示最低級(jí)別的壓縮,而 -9 表示最高級(jí)別的壓縮,通常級(jí)別越高,壓縮比越高(壓縮后體積越小),但壓縮所需時(shí)間也會(huì)更長(zhǎng)。
  • --brute: 高級(jí)別的壓縮選項(xiàng),類似于 -9,但壓縮的過程中會(huì)使用更多的壓縮技巧,可能會(huì)導(dǎo)致更長(zhǎng)的壓縮時(shí)間。
  • --ultra-brute: UPX 中最高級(jí)別的壓縮,使用最激進(jìn)的壓縮算法,盡可能的減小文件大小。需要更長(zhǎng)的壓縮時(shí)間,并且運(yùn)行時(shí)所需的解壓時(shí)間也會(huì)增加。
  • --best: 使用最佳壓縮結(jié)果的選項(xiàng),通常效果等于 -9 或者 --ultra-brute
  • --fast: 使用最快壓縮速度的選項(xiàng),通常效果等于 -1 或者 -2
  • --lzma: 使用 LZMA 算法進(jìn)行壓縮,可以獲得比較高的壓縮比,但不會(huì)有 --ultra-brute 那么激進(jìn),且通常比 -9 更快。
  • --overlay: 選項(xiàng)將壓縮文件附加到可執(zhí)行文件的末尾,而不是創(chuàng)建新文件。這可以用于一些特殊用途。
  • --force: 用于強(qiáng)制壓縮,即使 UPX 認(rèn)為此文件不適合壓縮。
  • --all-filters: 嘗試所有可用的壓縮算法,以嘗試找到最佳的壓縮組合(個(gè)人感覺和默認(rèn)差不多)。

其他參數(shù)

  • -o: 指定壓縮后文件輸出的名稱,如果不指定則默認(rèn)覆蓋原始文件。
  • --list: 列出壓縮過的文件信息,例如壓縮比例、文件大小等。
  • --quiet: 或 -q 選項(xiàng),使用安靜模式,減少輸出信息,在批處理或自動(dòng)化的過程中使用。
  • --verbose: 或 -v 選項(xiàng),啟用詳細(xì)輸出,有關(guān)壓縮進(jìn)程的詳細(xì)信息。
  • --test: 用于測(cè)試壓縮程序是否能正常的解壓縮或運(yùn)行,不會(huì)進(jìn)行實(shí)際的壓縮操作。
  • --keep: 保留原始文件,默認(rèn)情況下如果不指定輸出文件名,則會(huì)在壓縮結(jié)束后刪掉原始文件。
  • --threads: 指定用于壓縮的線程數(shù),默認(rèn)情況下與 CPU 核心數(shù)量相等。
  • --decompress: 用于解壓還原已經(jīng)被 UPX 壓縮的文件。

壓縮效果展示

我這里使用一個(gè)體積為 23007232 字節(jié)(21.9MB),使用 Go 語言編譯后的二進(jìn)制程序進(jìn)行壓縮測(cè)試,演示在不同壓縮級(jí)別下的壓縮比、耗時(shí)、壓縮后的體積等信息,提供壓縮算法的選擇參考。

壓縮級(jí)別/算法壓縮率體積(字節(jié))體積(MB)所需耗時(shí)
-149.43 %1137270410.81 秒
-346.84 %1077664010.22 秒
-538.34 %88201128.415 秒
-736.13 %83127767.9211 秒
-935.23 %81045207.7218 秒
默認(rèn)級(jí)別36.13 %83127767.9210 秒
--brute29.87 %68713446.55107 秒
--ultra-brute29.74 %68433006.52128 秒
--lzma29.97 %68960806.5711 秒
--best35.21 %81002327.7210 秒
--fast49.43 %1137270410.81 秒

(高清圖片可點(diǎn)擊原文連接在我的博客查看)


參考來源: https://upx.github.io?


閱讀原文:原文鏈接


該文章在 2025/3/25 10:29:19 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved