工具鏈軟體包括binutils、gcc、glibc、gdb等。
gcc:gnu compiler collection,編譯器,對於c/c++語言的完整支援,需要支援glibc庫。
glibc:是應用程式程式設計的函式庫軟體包,可以編譯生成靜態庫和共享庫。完整的gcc需要支援glibc。
gdb:除錯工具,可以讀取可執行程式中的符號表,對程式進行原始碼除錯。
預設情況下,gnu編譯器生成的目標檔案格式為elf格式。
elf檔案由若干段(section)組成。
c:.text(正文段)包含程式的指令**
.data(資料段)包含固定的資料,如常量、字串
.bss(未初始化資料段)未初始化變數、陣列等。
c++:.fini(析構函式**)
.init(建構函式**)
鏈結器的任務就是將多個目標檔案的.text、.data、.bss等段連線在一起,而連線指令碼告訴鏈結器從什麼位址開始放置這些段。
區塊鏈概念簡述
區塊鏈執行在乙個p2p網路中,所有使用者都是這個網路中的節點,地位都是均等的。人人都可以建立 傳送和 交易資訊,因此會有很多交易資訊在這個網路中流轉。可是,沒有中心節點,該由誰來把交易資訊記錄下來呢?假設假設有乙個好心人,他自願把所有收到的合法交易記錄下來,形成乙個賬本,並向全網公開。存在問題 有人...
Docker 編排工具簡述
docker 編排工具簡述 編排是乙個新的詞彙,經過閱讀才明白編排指的是容器的集群化和排程。另一類含義指的是容器管理,負責管理容器化應用和元件任務。典型的編排工具有 docker swarm mode kuberbetes和mesosphere dcos,這三個工具都提供相同的特性,但同時三個工具所...
kali linux fuzz工具集簡述
模糊測試是一種自動化軟體測試技術,涉及提供無效,意外或隨機資料作為電腦程式的輸入。然後監視程式是否存在異常,例如崩潰,內建 斷言失敗或潛在的記憶體洩漏。通常,模糊器用於測試採用結構化輸入的程式。例如,以檔案格式或協議指定該結構,並將有效與無效輸入區分開。有效的模糊器生成 有效 的半有效輸入,因為它們...