當前位置:首頁 » 操作系統 » linuxelf

linuxelf

發布時間: 2022-10-04 22:20:46

linux ELF是什麼

ELF(Executable and Linking Format)是一種對象文件的格式,用於定義不同類型的對象文件(Object files)中都放了什麼東西、以及都以什麼樣的格式去放這些東西。
它自最早在 System V 系統上出現後,被 xNIX 世界所廣泛接受,作為預設的二進制文件格式來使用。
可以說,ELF是構成眾多xNIX系統的基礎之一

㈡ linuxelf文件添加啟動驗證

我們採用完全符合PKCS[8]系列標準的簽名驗證演算法,並兼容所有符合X509格式的證書,以RSA[6][7]非對稱密鑰體制為基礎來完成對ELF文件代碼的簽名驗證。
為了便於描述,我們引入以下幾個基本概念1.完全摘要值--指對ELF文件的所有數據以及簽名相關數據計算出來的摘要值;2.不完全摘要值--指對ELF文件的一部分重要數據(主要是ELF文件頭)以及簽名相關數。
對ELF文件的簽名是通過簽名工具完成的,與操作系統核心無關,同時也和平台無關。簽名過程完全遵循第二節中所描述的標准和原理。

㈢ Linux下的ELF格式文件在執行時是不是不檢查文件完整性

一般都是不會檢查文件的,完整性的。但是會對文件的類型進行一個檢測。

㈣ Linux下elf文件運行問題

chmod 777 wocao
./wocao
沒有執行許可權

㈤ linux elf gnu字元代表什麼意思

這個組織中黑客雲集,而且多是掌握核心技術的真正高手,他們的作品多是編譯器、詞法/語法分析器、底層函數庫等大作。更重要的不是他們的技術,而是他們的哲學!他們的哲學就是技術上的「共產主義」——人人為我,我為人人。他們發布了一種版權許可協議——GPL——一個神聖的宣言。與中庸而謙和的BSD協議不同,它充滿著革命的活力和斗爭精神,它的出現標志著一個新世界——GPL世界——的誕生!
GNU本來向開發自己的操作系統——HURD,但是因為種種原因進度非常慢。這時候,一個荷蘭黑客製作出了Linux,並宣布:遵循GPL版權可協議。 Linux的發展非常快,他本身遵循GPL版權可協議,同時又把GNU的很多軟體集成了進去(注意,Linux僅僅是一個內核,不包含外圍的應用程序),所以現在我們使用的Linux系統,應該完整地稱之為GNU/Linux才對。
GUN是一個關於linux的標准。一切有關linux的開發得符合GUN的規定。
GNU工程已經開發了一個被稱為「GNU」(GNU是「不是UNIX」的縮寫)的、對Unix向上兼容的完整的自由軟體系統(free software system)。由Richard Stallman完成的最初的GNU工程的文檔被稱為『GNU宣言』,該宣言已經被翻譯成多種其它語言。我們還有創作與1983年的GNU工程創始宣言。
上述單詞「free」指的是自由(freedom),而不是價格。你可能需要或者不需要為獲取GNU軟體而支付費用。不論是否免費,一旦你得到了軟體,你在使用中就擁有三種特定的自由。首先是復製程序並且把它送給你的朋友或者同事的自由;而後是通過獲取完整的源代碼,按照你的意願修改程序的自由;最後是發布軟體的改進版並且有助於創建自由軟體社團的自由。(如果你重新發布 GNU軟體,你可能對分發拷貝這項體力勞動收費,也可能不收費。)
在1983年構思GNU工程是為了提供一種找回在計算機界早期的盛行的合作精神的方式--為了使合作成為可能而排除有私有軟體所有者給合作造成的障礙。
在1971年,當Richard Stallman開始他在MIT的職業生涯時,他工作於一個專門使用自由軟體的工作組。即使計算機公司也經常發布自由軟體。程序員可以自由地相互合作,就象他們通常所作的那樣。
到了80年代,幾乎所有的軟體都是私有的,這意味著它有一個不允許並且預防用戶合作的擁有者。這就使得GNU工程成為必要的了。
每個計算機的使用者都需要一個操作系統;如果沒有自由的操作系統,那麼如果你不求助於私有軟體,你甚至不能開始使用一台計算機。所以自由軟體議事日程的第一項就是自由的操作系統。
一個操作系統不僅僅是一個內核;它還包括編譯器、編輯器、文本排版程序,電子郵件軟體,和許多其他東西。因此,創作一個完整的操作系統是一鄉十分龐大的工作。它將耗費太多的年頭。
由於Unix的全局設計已經得到認證並且廣泛流傳,我們決定使操作系統與Unix兼容。同時這種兼容性使Unix的使用者可以容易地轉移到GNU上來。
自由的,類似於Unix的內核的初始目標已經達到了。到90年代,我們已經發現或者完成了除了內核之外的所有主要成分。而Linux,一個自由的內核,由Linux Torvalds開發了。把Linux和幾乎完成的GNU 系統結合起來,就構成了一個完整的操作系統:一個基於Linux的GNU系統。估計目前大約有十萬人在使用基於Linux的GNU系統,包括Slackware、Debian、Red Hat以及其它。
然而,GNU工程並不限於操作系統。我們的目標是提供所有類型的軟體,無論有多少用戶需要它。這包括了應用軟體。我們已經有了電子表格。我們希望在未來把GNU Emacs擴展為所見即所得的桌面出版系統。
我們還想為不是計算機專家的用戶提供軟體。為此我們正在創作『拖放圖標桌面』以幫助初學者使用 GNU系統。
我們還希望提供游戲和其它娛樂。已經由一些游戲可以使用了。
自由軟體可以走多遠?這沒有限制,除非諸如版權法之類的法律完全地禁止自由軟體。最終的目的是,讓自由軟體完成計算機用戶希望完成的所有工作--從而導致自由軟體的過時

㈥ linux下運行elf的可執行文件,都調用了哪些系統調用

ELF(Executable and Linking Format)是一種對象文件的格式,用於定義不同類型的對象文件(Object files)中都放了什麼東西、以及都以什麼樣的格式去放這些東西。它自最早在 System V 系統上出現後,被 xNIX 世界所廣泛接受,作為預設的二進制文件格式來使用。可以說,ELF是構成眾多xNIX系統的基礎之一,所以作為嵌入式Linux系統乃至內核驅動程序開發人員,你最好熟悉並掌握它。
其實,關於ELF這個主題,網路上已經有相當多的文章存在,但是其介紹的內容比較分散,使得初學者不太容易從中得到一個系統性的認識。為了幫助大家學習,我這里打算寫一系列連貫的文章來介紹ELF以及相關的應用。這是這個系列中的第一篇文章,主要是通過不同工具的使用來熟悉ELF文件的內部結構以及相關的基本概念。後面的文章,我們會介紹很多高級的概念和應用,比方動態鏈接和載入,動態庫的開發,C語言Main函數是被誰以及如何被調用的,ELF格式在內核中的支持,Linux內核中對ELF section的擴展使用等等。
好的,開始我們的第一篇文章。在詳細進入正題之前,先給大家介紹一點ELF文件格式的參考資料。在ELF格式出來之後,TISC(Tool Interface Standard Committee)委員會定義了一套ELF標准。你可以從這里(http://refspecs.freestandards.org/elf/)找到詳細的標准文檔。TISC委員會前後出了兩個版本,v1.1和v1.2。兩個版本內容上差不多,但就可讀性上來講,我還是推薦你讀 v1.2的。因為在v1.2版本中,TISC重新組織原本在v1.1版本中的內容,將它們分成為三個部分(books):
a) Book I
介紹了通用的適用於所有32位架構處理器的ELF相關內容
b) Book II
介紹了處理器特定的ELF相關內容,這里是以Intel x86 架構處理器作為例子介紹
c) Book III
介紹了操作系統特定的ELF相關內容,這里是以運行在x86上面的 UNIX System V.4 作為例子介紹
值得一說的是,雖然TISC是以x86為例子介紹ELF規范的,但是如果你是想知道非x86下面的ELF實現情況,那也可以在http://refspecs.freestandards.org/elf/中找到特定處理器相關的Supplment文檔。比方ARM相關的,或者MIPS相關的等等。另外,相比較UNIX系統的另外一個分支BSD Unix,Linux系統更靠近 System V 系統。所以關於操作系統特定的ELF內容,你可以直接參考v1.2標准中的內容。
這里多說些廢話:別忘了 Linus 在實現Linux的第一個版本的時候,就是看了介紹Unix內部細節的書:《The of the Unix Operating System》,得到很多啟發。這本書對應的操作系統是System V 的第二個Release。這本書介紹了操作系統的很多設計觀念,並且行文簡單易懂。所以雖然現在的Linux也吸取了其他很多Unix變種的設計理念,但是如果你想研究學習Linux內核,那還是以看這本書作為開始為好。這本書也是我在接觸Linux內核之前所看的第一本介紹操作系統的書,所以我極力向大家推薦。(在學校雖然學過操作系統原理,但學的也是很糟糕最後導致期末考試才四十來分,記憶彷彿還在昨天:))
好了,還是回來開始我們第一篇ELF主題相關的文章吧。這篇文章主要是通過使用不同的工具來分析對象文件,來使你掌握ELF文件的基本格式,以及了解相關的基本概念。你在讀這篇文章的時候,希望你在電腦上已經打開了那個 v1.2 版本的ELF規范,並對照著文章內容看規范里的文字。

㈦ Linux裡面ps -elf作用是什麼

ps -elf與ps aux 查詢目的是一樣的, 顯示所有在運行的進程, 前者是用bsd的格式輸出,後者是用標准格式輸出。

㈧ 如何修改Linux下的ELF文件

linux很少有需要crack的軟體,所以最近總是自娛自樂。自己寫的軟體自己破著玩但是由於都是知道自己的手段,沒有什麼意思。真的希望有高手們寫些crackme for linux 。最近看了看windows的脫殼大致的理解了脫殼的原理,之前沒有怎麼接觸脫殼,通常只是選擇沒有殼的軟體看看。在linux下的殼沒有找到幾個。只找到了一個upx的殼,在windows下是個弱殼。實際上在linux下面也是弱殼,完全可以使用"upx -d"的命令解決問題。但我總是喜歡自己手動的。呵呵....純屬於自娛自樂。
ok,開始我們的linux的upx的脫殼之旅.........
我在選擇工具的時候花了很多時間,忽然發現GDB在upx面前是那麼的蒼白無力...也終於知道為什麼有人說GDB不適合做逆向了...雖然軟體在調試器里可以正常於運行,正常下斷。但是根本無法查看反匯編的代碼.......。
無奈無奈....使用傳說中最好的工具 IDA 為此我特地簡單的學習了一下IDC腳本的使用方法...
沒有什麼資料可以參考,是一件很不愉快的事情,因為不知道能不能成功。不管了,一步一步來吧...
我用「upx -d「 脫出了原來的文件,發現文件是全的,沒有任何部分丟失,所以我相信這些文件會出現在進程空間的某個時間的某個角落,這個很大的堅定了我手動脫殼的信心(但是實際上到這篇文章的結尾我也沒有能夠在找到完整的程序文件,但我相信理論上內存空間中應該會出現完整的文件的...)。
我的加殼軟體是我上次文章中用到做外掛的mines(掃雷游戲)。先找到了upx-3.03-i386_linux 軟體 附件中我會給出的免的度這篇文章的人去尋找了。
對我們目標軟體加殼,命令如下,的確是個好用的壓縮殼軟體,直接有54%的壓縮律。

熱點內容
奧維地圖伺服器地址怎麼填 發布:2024-04-25 12:40:04 瀏覽:965
低配置游戲玩哪個平台 發布:2024-04-25 12:35:04 瀏覽:559
glinux下載 發布:2024-04-25 12:30:09 瀏覽:84
安卓手機可以用的谷歌叫什麼 發布:2024-04-25 12:05:57 瀏覽:943
linux改變用戶所屬組 發布:2024-04-25 11:50:33 瀏覽:469
rsa加密演算法java代碼 發布:2024-04-25 11:40:07 瀏覽:883
如何改變拉桿箱上的初始密碼 發布:2024-04-25 11:17:23 瀏覽:799
內網掛代理虛擬機如何配置網卡 發布:2024-04-25 11:15:06 瀏覽:687
明日之後緩存怎麼清理 發布:2024-04-25 11:14:56 瀏覽:205
華為mate30怎麼退回安卓版 發布:2024-04-25 11:08:49 瀏覽:898