Linux鉤子攔截刪除文件,在Linux中保存鉤子文件

您可以嘗試FILE_PRELOAD utility,它們會生成帶鉤子的C++代碼,編譯和LD_PRELOAD它。在簡短的看了一下之后,你可以感覺到如何輕松地掛接linux。起點是this tutorial。

例如,如果你想改變文件/ tmp的“公開征集” /一些帶有的/ tmp/replace_with:

#: FILE_PRELOAD -C "A+f:/tmp/some:/tmp/replace_with" -- bash

#: echo "HaHa" >> /tmp/some

#: ll /tmp/some

ls: cannot access /tmp/some: No such file or directory

#: cat /tmp/replace_with

HaHa

如果你想看到的生成的代碼源,只需加上“-p “選項。

#: FILE_PRELOAD -p -C "A+f:/tmp/some:/tmp/replace_with" -- bash

在另外的所有generated.cpp文件,你可以找到在/ tmp/$ USER/FILE_PRELOAD/CPP。

與Linux的鉤一個漂亮的打)

生成的代碼看起來是這樣的:

#include

#include

#include

#include

#include

#define I int

#define C char

#define S string

#define P printf

#define R return

using std::map;

using std::string;

typedef map MAP;

static I (*old_open)(const C *p, I flags, mode_t mode);

extern "C"

I open (const C *p, I flags, mode_t mode){

old_open = dlsym(RTLD_NEXT, "open");

P("open hook\n");

MAP files;

files[p]=p;

files["/tmp/some"]="/tmp/replace_with";

S newpath = files[S(p)];

R old_open(newpath.c_str(), flags, mode);

}

# &compile

gcc -w -fpermissive -fPIC -c -Wall file.cpp

gcc -shared file.o -ldl -lstdc++ -o wrap_loadfile.so

LD_PRELOAD=./wrap_loadfile.so bash

nm -D /lib/libc.so.6 | grep open # we hook this syscall

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530498.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530498.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530498.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux內核怎么優化,linux 內核該怎么優化

Linux系統下,TCP連接斷開后,會以TIME_WAIT狀態保留一定的時間,然后才會釋放端口。當并發請求過多的時候,就會產生大量的TIME_WAIT狀態的連接,無法及時斷開的話,會占用大量的端口資源和服務器資源。這個時候…

編譯linux內核適用的編譯器,編譯Linux內核時,CC,LD和CC [M]輸出的代碼是什么?...

所以一般情況下,你只需要 git grep cmd.* CODE找到CODE。獲取scripts/Makefile.build定義的所有代碼 make | grep -E ^ | sort -uk1,1CC和CC [M]名單: quiet_cmd_cc_o_c CC $(quiet_modtag) [email protected]cmd_cc_o_c $(CC) $(c_flags) -c -o [em…

紅旗linux修改個人密碼,LINUX紅旗5.0的用戶名和密碼!

怎樣卸載、安裝紅旗linux本二,安裝紅旗Linux桌面版 4。0將光驅設為第一啟動盤,放入第一張安裝光盤后重新啟動電腦,如果你的光驅支持自啟動, 如無意外將出現如下圖1如果不進行操作,在10秒后自動進入下一畫面,顯示如下圖2所示一啟動就能使用鼠標了,比效方便;軟件協議,只能選同意,…

linux多線程九宮格,項目實戰:Qt九宮格圖片資源瀏覽器(支持window、linux、兼容各國產系統,支持子文件夾,多選,全選,圖片預覽,行數與列數設置等)...

需求做嵌入式設備,需求九宮格圖片資源瀏覽器:1.設置根目錄;2.可拖動;3.可設置列數與行數;4.點擊文件夾可以進入文件夾;5.點擊圖片可以瀏覽圖片;6.支持觸摸屏上下拽拖瀏覽;7.支持長安…

linux mdev -s沒有運行,mdev詳解

一、概述mdev是busybox提供的一個工具,用在嵌入式系統中,相當于簡化版的udev,作用是在系統啟動和熱插拔或動態加載驅動程序時,自動創建設備節點。文件系統中的/dev目錄下的設備節點都是由mdev創建的。在加載驅動過程中&#xff0c…

linux x86-64下,Linux x86_64下安裝Flash Player 9

家里 Linux 安裝已經有幾天了,可是用 Firefox 瀏覽網頁總是看不到 Flash。到了 Adobe 官方去下載了 Flash 插件,結果安裝的時候說它不支持 x86_64,安裝計劃就一直擱淺。天天上網看見“缺失插件”的框框,非常不爽,所以就…

window連接樹莓派linux桌面,遠程連接Raspberry Pi(樹莓派)圖形用戶界面(X Window)

背景:有的時候,我們希望能遠程連接一臺linux的圖形界面用來管理機器,這里需要用到tightvncserver和xtightvncviewer兩個工具我的樹莓派的ip是10.141.247.134 另一臺機器為作client去鏈接樹莓派的ip為10.141.247.121. 先在樹莓派的機器上安裝tightvncs…

linux小紅帽系統能用微信,小紅帽騰訊QQ微信登錄版-小紅帽騰訊版v1.0.3 安卓版-騰牛安卓網...

小紅帽騰訊版是一款專為廣大喜愛玩童話類手游的玩家打造的歐美風游戲,這款游戲有著最為精致的游戲畫面,黑色風格的童話故事,帶領玩家領略不一樣的童年世界,給您帶來最佳的游戲體驗!小紅帽騰訊版簡介《小紅帽》是一款改…

在linux實現公平隊列,多級反饋隊列調度策略在Linux中的應用和實現.pdf

多級反饋隊列調度策略在Linux中的應用和實現.pdf第30卷第20期 計算機工程 2004年10月I/01.30^矗2口 ComputerEngineering October2004文t標識碼tA 中強分婁號I TP311.52軟件技術與數據庫 文章-號tlooo-3428(2004)20—.008l—_03多…

c語言第五章作業,《C語言程序設計》第五章作業.doc

《C語言程序設計》第五章作業窗體頂端《C語言程序設計》第5章作業布置日期:2012-3-15?????截止日期:2012-3-22一、單選題 (每小題6分,共102分)?1、以下說法中正確的是____。????A、C語…

i7 5500u linux,i7 5500u相當于什么cpu

大家好,我是時間財富網智能客服時間君,上述問題將由我為大家進行解答。i7 5500u相當酷睿i5CPU,I7 5500U是酷睿筆記本專用CPU,是雙核四線程的一款處理器,嚴格來說不算第五代的I7,而是全新一代的I7型號。酷睿…

c語言字符串用for語句去重,C# 實現字符串去重

方法一 注:需要.net 3.5框架的支持string s "101,102,103,104,105,101,102,103,104,105,106,107,101,108";s string.Join(",", s.Split(,).Distinct().ToArray());方法二class Program{static void Main(string[] args){string result"&…

c語言利用遍歷求樹高的程序,用C語言實現二叉樹的遍歷極其應用

用C語言實現二叉樹的遍歷極其應用[1]〔摘要〕:《數據結構》是計算機系學生的一門專業技術基礎課程,計算機科學各領域及有關的應用軟件都要用到各種數據結構。C語言有較豐富的數據類型、運算符以及函數,能直接與內存打交道,使修改、…

c語言編程出彩色告白,C語言告白代碼,一閃一閃亮晶晶~

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include #include #include #define I 20#define R 340int main(){int i,j,e;int a;for(i1,aI;ifor(j(int) ( I-sqrt(I*I-(a-i)*(a-i)) );j>0;j--)printf(" ");for(e1;e<2*sqrt(I*I-(a-i)*(a-i));e)printf("…

計算機二級c語言2021年重點內容,2021年5月計算機二級C語言試題(總)

一個考生的快樂&#xff0c;不是因為他備考的時間多&#xff0c;而是因為他的選擇對。選擇考無憂題庫&#xff0c;做二級C語言試題&#xff0c;助你備考輕松&#xff01;二級C語言試題【1】1.若有以下數組說明&#xff0c;則i10;a[a[i]]元素數值是(C)。int a[12]{1,4,7,10,2,5,…

c語言case key pres,C#程序設計B-中國大學mooc-題庫零氪

第2講 C#語言基礎2.1 數據類型、變量與常量 —— 語言中的單詞隨堂測驗1、(加號)可以表示A、算術的加法B、正號C、字符串的連接D、事件的注冊()2、int是引用類型3、string是引用類型4、double在內存中占8個字節5、int占2個字節6、Person p1 new Person(18); //Person是引用類型…

c語言遞歸求差分方程,如何使這個簡單的遞推關系(差分方程)尾遞歸?

bytebuster的解決方案很好&#xff0c;但他沒有解釋他是如何創建它的&#xff0c;所以它只會幫助解決這個特定的問題。順便說一句&#xff0c;你的公式看起來有點像斐波納契(但不完全)&#xff0c;它可以是calculated analytically without any looping(即使沒有循環隱藏在Seq.…

android text 字體設置,Android TextView個別字體格式設置小結

android 在同一個TextView中如何展現出不同的字體和顏色總結一下1.主要是痛通過String.xml使用html標簽靜態配置然后動態引用Html.fromHtml(getResources().getString(R.string.myHeadStr));2.textView 動態設置//創建一個 SpannableString對象 msp new SpannableString("…

android 圖片合成pdf文件,教你怎么把多張圖片合成一個pdf文件

當你遇到需要把多張圖片合并成一個pdf文件時&#xff0c;你需要怎么做?可能有些朋友會說下載一個pdf格式轉換工具&#xff0c;其實不必這么麻煩&#xff0c;你只要把文件上傳到在線迅捷pdf轉換器&#xff0c;就可以一站式幫你搞定pdf文件的格式轉換以及一些常用的功能操作(如p…

android中的xml布局文件如何引用另一個xml布局文件,引用另一個layout.xml文件而不復制它...

如果我理解正確提問者對XLARGE和SW-600dp的一個布局文件&#xff0c;另一個用于所有的休息。無論如何&#xff0c;當我偶然發現這個問題時&#xff0c;就是這樣。可以通過創建文件夾layout-xlarge和layout-s600dp來解決這個問題&#xff0c;并在每個文件夾中放置一個布局文件&a…