原文:動態鏈接的PLT與GOT

最近在研究緩沖區溢出攻擊的試驗,發現其中有一種方法叫做ret plt。plt 這個詞好熟悉,在匯編代碼里經常見到,和plt經常一起出現的還有一個叫got的東西,但是對這兩個概念一直很模糊,趁着這個機會研究一下。 可以先說一下結論 : plt和got是動態鏈接中用來重定位的。 GOT 我們知道,一般我們的代碼都需要引用外部文件的函數或者變量,比如 include lt stdio.h gt 里的pr ...

2020-12-01 23:22 2 379 推薦指數:

查看詳情

深入了解GOT,PLT動態鏈接

之前幾篇介紹exploit的文章, 有提到return-to-plt的技術. 當時只簡單介紹了 GOTPLT表的基本作用和他們之間的關系, 所以今天就來詳細分析下其具體的工作過程. 本文所用的依然是Linux x86 64位環境, 不過分析的ELF文件是32位的(-m32 ...

Tue Apr 10 00:52:00 CST 2018 0 9483
got & plt

got plt類似與Windows PE文件中IAT(Import Address Table)。 要使的代碼地址無關,基本思想就是把與地址相關的部分放到數據段里面。 ELF的做法是在數據段里面建立一個指向這些變量的指針數組,稱為全局偏移表(Global Offset Table,GOT ...

Fri Jun 10 19:09:00 CST 2016 0 2378
PLTGOT

0x01 什么是PLTGOT 名稱: PLT : 程序鏈接表(PLT,Procedure Link Table) GOT : 重局偏移表(GOT, Global Offset Table) 緣由:   這緣起於動態鏈接動態鏈接需要考慮的各種因素,但實際總結起來說兩點 ...

Mon Jul 15 07:04:00 CST 2019 0 413
加深PLT-GOT表機制的理解

加深PLT-GOT表機制的理解 之前的一篇講libc的文章中講過有關plt-got表的延遲綁定機制,而覆蓋got表的方法也早已稱為pwn中最常用的技巧之一;但是筆者近期閑來無事對改機制進行了更詳細的逆向分析,有了一個更加清晰的圖景,借此文分享一下: 分析就得事必躬親,自行找一個有libc調用 ...

Tue Nov 13 03:35:00 CST 2018 0 655
深入理解GOT表和PLT

0x01 前言 操作系統通常使用動態鏈接的方法來提高程序運行的效率。在動態鏈接的情況下,程序加載的時候並不會把鏈接庫中所有函數都一起加載進來,而是程序執行的時候按需加載,如果有函數並沒有被調用,那么它就不會在程序生命中被加載進來。這樣的設計就能提高程序運行的流暢度,也減少 ...

Fri Oct 01 18:31:00 CST 2021 0 162
elf文件結構解讀以及pltgot節的理解

前言:   熟悉elf文件結構是一件很不錯的事,因為安卓中的so加固以及修復都是需要這些知識的,包括pwn里面的rop之類的,也都是 和got節,plt節息息相關的,個人建議是在搞懂elf文件結構后,自己實現一個解析器,把注釋寫好,方便忘了再進一步重溫,寫的不好 見諒。 一. elf文件 ...

Mon Jan 18 02:18:00 CST 2021 0 382
靜態鏈接動態鏈接

1.基礎知識   程序由源代碼變成可執行文件,一般可以分解為四個步驟,分別是:     [1]預處理(Prepressing):預處理過程主要處理源代碼中以“#”開始的預編譯指令;      ...

Fri Mar 01 18:51:00 CST 2019 0 1952
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM