有許多程序可以讓你打包幾個文件,並生成一個可執行文件,它具有必要的代碼來提取它們。不知何故,這些文件駐留在可執行文件中。我有興趣做同樣的事情;這是如何完成的?如何製作自解壓縮可執行文件?
僅供參考,我主要關注Windows .exe文件,如果它有所作爲。
有許多程序可以讓你打包幾個文件,並生成一個可執行文件,它具有必要的代碼來提取它們。不知何故,這些文件駐留在可執行文件中。我有興趣做同樣的事情;這是如何完成的?如何製作自解壓縮可執行文件?
僅供參考,我主要關注Windows .exe文件,如果它有所作爲。
你可能會保存一個資源中的文件/文件,編譯成exe文件,然後在exe文件中使用一些代碼將其解壓縮到一個文件中。
即:
還有一些產品,如pkzip
和winzip
該爲你做它。如果你的時間是值得的,那將會更有效率。
自解壓.exe文件通常是與一個小程序連接在一起的壓縮文件(zip,rar,tar等),然後執行提取,然後執行從壓縮文件中提取的程序。
一個非常複雜的應用程序可以將存檔提取到內存中,然後跳轉到解壓縮的代碼並運行它,但在過去的時代,這樣的事情更容易完成。
如果您想在Windows中編寫自己的應用程序,您可以創建一個小型控制檯應用程序來完成提取操作,並且可以在控制檯程序資源中包含「真實」程序。
這些檔案文件是否附加到提取的「真實」程序? – Phil
在過去的日子裏,是的,現在我認爲如果你的檔案沒有在exe頭文件中說明,你會遇到病毒掃描程序的問題。 –
UPX是一個衆所周知的Windows.EXE打包程序,可以在這裏找到WikiPedia。這裏是關於UPX的sourceforge的主要網站。
希望這會有所幫助, 最好的問候, 湯姆。
「how-stuff-works」標籤? –
是的,如果我知道它是如何完成的(或它是如何工作的),那麼我可以做到。 – Phil
@Mitch:這些東西已經被使用了30多次,它沒有C++標籤,但有人會爲它獲得分類標記。 –