回覆列表
-
1 # 使用者9526841078219
-
2 # 使用者90275400181
用PEID等檢視可執行檔案外殼的程式,可以看出一個未加殼的程式是用什麼編寫的.一般來說exe檔案不能被再次編輯,只能用w32dasm等反彙編軟體檢視,編輯它的彙編程式碼.
用PEID等檢視可執行檔案外殼的程式,可以看出一個未加殼的程式是用什麼編寫的.一般來說exe檔案不能被再次編輯,只能用w32dasm等反彙編軟體檢視,編輯它的彙編程式碼.
exe只是一個入口檔案,當然,其他的dll檔案或者一些你不知道的格式檔案,他們包含的東西很多,比如大部分的dll檔案,他和exe檔案的區別在於,dll檔案只提供處理的方法,exe是去執行這些dll的。打個比方,你要執行一個數據加密,但你不會寫加密演算法,恰好你在網上找到一個提供加密演算法的dll,你就寫一個exe,然後來呼叫那個dll,執行你的加密過程,你完全可以不需要了解加密是如何執行的,你只需要呼叫別人提供的dll就可以實現了。你說的exe 其實和dll沒什麼區別,只是,普通人認為exe可以執行,而dll檔案和其他檔案不能執行而已。其實exe和dll 都是可執行檔案,只是exe是提供給使用者執行的,dll檔案是給程式執行的。還有一些你看到的什麼dat,ini,xml等檔案,這些就屬於資料檔案,檔案的字尾並不代表檔案的型別,我程式呼叫一張圖片,我可以取名叫“picture.dll” 但它也能被當作圖片處理,檔案的字尾,只是方便作業系統去識別的,但在程式裡,軟體只會識別檔案的流是不是能被轉化成圖片或者其他檔案型別,不同程式,或者說不同遊戲下,dat檔案不代表就是同一種檔案,只是看你程式如何處理而已,格式都是程式設計師自己定的。總結來說,exe是給使用者一個入口檔案,exe可以是有窗體的,也可以是沒有窗體的程式,exe負責去呼叫各種不同的dll和資原始檔,dll也可以去呼叫其它不同的dll和資原始檔,然後exe或者dll去處理資料,呈現給使用者一個GUI介面去操作。-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=用比喻來說 :以演唱會為例子:比如你是去看陳奕迅演唱會,陳奕迅好比是exe可執行檔案。你們關注的是陳奕迅,也就是普通人要執行軟體,首先去找exe字尾的檔案。但演唱會有很多元素,配樂,音響:可以理解為dll檔案,燈光,舞臺等等理解為資原始檔。配樂,音響,燈光,舞臺等等,這些不是你們主要關注的物件,他們只是輔助陳奕迅演唱會順利進行的配角,他們就理解為各種資源和各種庫。執行exe檔案,就代表演唱會開始,然後需要用到各種各樣的配角去配合完成演唱會,exe檔案就去呼叫需要的dll,比如,(配樂.dll),執行"配樂.dll",可以開始播放背景音樂,呼叫燈光.gif,就可以呈現出各種各樣的光效,但燈光.gif 由誰來呼叫呢?陳奕迅不會去操控燈光(但程式裡可以exe去呼叫,也可以交給外部dll去呼叫,但與其讓陳奕迅去學會操控燈效,不如請個燈效師,也就是燈光開始.dll這個燈效師),所以這時候有個燈光開始.dll就可以去控制燈光.....(省略500字)所以打包下來,就是以下幾個東西:陳奕迅.exe電源.dll配樂.dll燈光.gif燈光開始.dll安保.dll演出服裝.png...............................但有些時候,我們覺得,dll檔案這麼多,會不會很冗餘,所以我們辭掉了燈效師和控制電源的兩個人,然後請了一個既會控制電源,又會操控燈效的人。(把兩個dll合併成一個,就有一個power.dll,演唱會開始了後,我發出命令,power.dll,幫我開啟舞臺的電源,然後power就會開啟舞臺電源,然後你再叫他給我配合一下燈效,他就會幫你打燈效)一場演出下來,我們只會去關注陳奕迅他怎麼表演,但其他的舞臺效果,各種後臺工作人員,就是各種dll和資原始檔。這下比喻清楚了吧,還不清楚我就沒辦法了,書讀的少,不怎麼會表達。。。