• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-162  評論-223  文章-30  trackbacks-0
            Linux共享庫庫函數(shù)掛鉤主流兩種方法。一是替換函數(shù)對應(yīng)的GOT/PLT條目,GOT/PLT原理類似Windows的IAT;二是inline掛鉤,即替換函數(shù)序言的幾個(gè)字節(jié)(x86是5或7字節(jié))為jmp/call,若發(fā)現(xiàn)稍遠(yuǎn)處有jmp或call(前提在入口基本塊內(nèi),若不在入口基本塊內(nèi)要修改分支控制條件,這有點(diǎn)復(fù)雜也無必要),則其目標(biāo)地址可被替換,這樣就不用替換序言的幾字節(jié)了。Windows的IAT掛鉤檢測很方便,因?yàn)閐ll的baseaddr及size可通過API VirtualQueryEx(https://learn.microsoft.com/zh-cn/windows/win32/api/memoryapi/nf-memoryapi-virtualqueryex)或toolhelp庫的Module32First/Module32Next(https://learn.microsoft.com/zh-cn/windows/win32/api/tlhelp32/nf-tlhelp32-module32first)接口來獲取。同理linux也可以拿到有兩種方法,一種是讀/proc/pid/maps(這里pid為實(shí)際目標(biāo)進(jìn)程號(hào))獲取so庫代碼段的baseaddr和size,另一種用dl_iterate_phdr(https://man7.org/linux/man-pages/man3/dl_iterate_phdr.3.html)拿到代碼段(pt_load類型+可執(zhí)行標(biāo)志)的baseaddr及size。只要模塊(代碼段)的baseaddr及size確定了,檢測方法同IAT,即看替換函數(shù)地址是否不在代碼段空間內(nèi),若不在或地址不是原函數(shù)則認(rèn)為被掛鉤了,否則需進(jìn)一步用針對inline掛鉤法的檢測處理,見下文描述。另外dladdr(https://man7.org/linux/man-pages/man3/dladdr.3.html)判斷一個(gè)地址是否跟一個(gè)so庫及符號(hào)相關(guān),因此也可用于檢測掛鉤。如果是inline掛鉤法,那么分析函數(shù)入口基本塊內(nèi)(不管替換序言幾字節(jié)還是已有jmp/call目標(biāo)地址,都在入口基本塊)jmp/call的目標(biāo)地址(最好用成熟的反匯編引擎分析,比如llvm的mc庫反匯編功能,或https://salsa.debian.org/debian/distorm3),看是否超出so庫的代碼段空間
            posted on 2023-09-26 16:47 春秋十二月 閱讀(2161) 評論(0)  編輯 收藏 引用 所屬分類: System
            青青青青久久精品国产h久久精品五福影院1421 | 久久综合噜噜激激的五月天| 日本强好片久久久久久AAA| 久久国产免费观看精品| 无码8090精品久久一区| 狠狠色丁香婷婷综合久久来| 久久这里只有精品视频99| 97精品依人久久久大香线蕉97| 亚洲乱码精品久久久久..| 国产毛片久久久久久国产毛片 | 性做久久久久久久久久久| 亚洲午夜久久久久妓女影院| 久久久国产精品| 国产精品美女久久久久久2018| 亚洲午夜福利精品久久| 日韩亚洲欧美久久久www综合网| 久久综合久久美利坚合众国| 久久综合综合久久97色| 精品久久久久久成人AV| 久久九九兔免费精品6| 国产A级毛片久久久精品毛片| a高清免费毛片久久| 国产成人无码精品久久久性色| 99久久国产综合精品成人影院| 久久天堂AV综合合色蜜桃网| 久久精品中文字幕大胸| 一本久久a久久精品综合香蕉 | 中文字幕无码久久精品青草| 激情久久久久久久久久| 狠狠色综合网站久久久久久久| 色综合久久久久久久久五月| 一本色道久久88—综合亚洲精品| 91精品国产9l久久久久| 无码人妻久久一区二区三区| 久久综合久久美利坚合众国| 四虎影视久久久免费观看| 久久精品无码专区免费| 久久精品国产影库免费看| 久久综合综合久久狠狠狠97色88 | 成人亚洲欧美久久久久| 伊人久久大香线焦综合四虎|