五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

ebpf 隱藏 Android 任意進(jìn)程或任意文件實(shí)現(xiàn)連載 (一)

2023-06-06 22:17 作者:云知道B  | 我要投稿

一,介紹

本文圍繞著 linux 系統(tǒng) ls 命令,并實(shí)現(xiàn) ebpf 內(nèi)核命令攔截修改 ls 后最終效果等功能

演示視頻被投訴下架,說是涉嫌抄襲,所以寫了這么一個文字的內(nèi)容,來講解下項(xiàng)目的思想出處,和關(guān)鍵代碼的分析,并提供源碼給各位。

二、案例設(shè)計思路:

1. 分析linux系統(tǒng)下 ls 命令底層調(diào)用原理
2. 對 ls 命令內(nèi)部關(guān)鍵系統(tǒng)調(diào)用進(jìn)行hook攔截
3. 劫持并修改關(guān)鍵系統(tǒng)調(diào)用的返回值

三、分析 ls 工具底層實(shí)現(xiàn)

下面是對截圖中部分信息的解釋

四、eBPF關(guān)鍵代碼實(shí)現(xiàn)原理分析 (sys_enter_getdents64 探測)

ebpf 程序代碼實(shí)現(xiàn)僅分析內(nèi)核態(tài)程序模塊,代碼塊中將會對關(guān)鍵部分內(nèi)容進(jìn)行注釋說明,下方程序模塊主要目的是獲取 getdents64 方法的 dirp 地址為后續(xù)工作準(zhǔn)備

三步

- 確定發(fā)生 getdents64 系統(tǒng)調(diào)用的進(jìn)程是我需要的
- 獲取當(dāng)前目錄下所有文件對象的 dirp (可以理解為,目錄下每個文件都是一個結(jié)構(gòu)體,當(dāng)前獲取的 dirp 是所有文件的 連續(xù)的結(jié)構(gòu)體首地址)
- 將 dirp 地址保存到 maps 中提供給其他程序使用

getdents64? 方法原型可在命令行處使用 `man 2 getdents64` 查看 ,我會在劫持?jǐn)?shù)據(jù)章節(jié)中對他進(jìn)行深度的分析

五,eBPF關(guān)鍵代碼實(shí)現(xiàn)原理分析(sys_exit_getdents64 探測)

我們知道在 c 語言開發(fā)程序時候是經(jīng)常使用指針的,也就意味著有時候,當(dāng)使用 c 語言去獲取一些數(shù)據(jù)時,會提前傳入一個空的地址,當(dāng)數(shù)據(jù)獲取成功后在往這個地址中填充數(shù)據(jù),getdents64? 方法也是如此,所以這里使用到了探測點(diǎn)? `sys_exit_getdents64`。


以下程序模塊將會在 getdents64 方法拿到當(dāng)前目錄下所有文件信息后進(jìn)行一個處理工作,主要用于遍歷出當(dāng)前目錄下所有的文件的 dirp 結(jié)構(gòu)體地址,供后面的程序?qū)@些結(jié)構(gòu)體進(jìn)行操作,達(dá)到隱藏文件的目的。


當(dāng)前代碼塊主要工作 是找出我要隱藏的目標(biāo)文件的地址,找到后停止繼續(xù)查找,在這個過程中他會不斷的對 map_to_patch 進(jìn)行賦值,而 map_to_patch 結(jié)構(gòu)體中保存的永遠(yuǎn)是目標(biāo)文件的上一個文件,這樣在發(fā)生尾調(diào)用時候,被調(diào)用的程序?qū)玫侥繕?biāo)文件的上一個文件結(jié)構(gòu)體的地址,并進(jìn)行算法處理,更改內(nèi)存達(dá)到隱藏目標(biāo)的目的

六,下一個章節(jié),將會對隱藏文件的具體實(shí)現(xiàn)思路進(jìn)行詳細(xì)分析

源碼公開提供,需要的聯(lián)系我

感謝? https://github.com/pathtofile






ebpf 隱藏 Android 任意進(jìn)程或任意文件實(shí)現(xiàn)連載 (一)的評論 (共 條)

分享到微博請遵守國家法律
洛浦县| 金乡县| 灯塔市| 华阴市| 清新县| 鄱阳县| 鲁山县| 永济市| 巴塘县| 册亨县| 哈尔滨市| 东台市| 黄平县| 邵阳县| 广东省| 克拉玛依市| 嘉善县| 邹平县| 伊金霍洛旗| 若尔盖县| 西乌| 新安县| 金塔县| 阜阳市| 铜山县| 南阳市| 共和县| 庆云县| 新疆| 江津市| 永济市| 凤山市| 海门市| 文成县| 宁波市| 涞源县| 台湾省| 定兴县| 闵行区| 汾西县| 侯马市|