您好,登錄后才能下訂單哦!
這篇文章給大家介紹Linux crash工具怎么結合/dev/mem進行任意修改內存,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Linux內核程序員幾乎每天都在和各種問題互相對峙:
內核崩潰了,需要排查原因。
系統參數不合適,需要更改,卻沒有接口。
改一個變量或一條if語句,就要重新編譯內核。
想稍微調整下邏輯卻沒有源碼,沒法編譯。
解決每一類問題都需要消耗大量的時間,特別是重新編譯內核這種事情。于是,每一個Linux內核程序員或多或少都會掌握一些Hack技巧,以節省時間提高工作效率。
然而,自己Hack內核非常容易出錯,稍不留意就會傷及無辜(panic,踩內存…),然后你會陷入沒完沒了的細節,比如查找頁表就夠折騰。
俗話說工欲善其事,必先利其器,臨淵羨魚,不如退而結網。
但是如果你使用現成的工具,就會發現有時候工具很難擴展。自己需要的邊緣小眾功能往往并不提供,你依然需要自己動手但卻又無從下手。
怎么辦?為何不把二者結合呢?
作為Linux內核開發者,這些工具的熟練使用是必須的。
/dev/mem 幾乎總是被宣稱為作為整個物理內存映像可以被mmap到進程地址空間,很多人確實將/dev/mem設備文件mmap到了自己的程序,然而卻幾乎一無所得。這不是程序員的錯,畢竟作為一個平坦的內存地址空間,/dev/mem的內容看起來沒有任何結構,一般DIY的程序根本就無力解析它。
/dev/mem 是個寶藏,它暴露了整個內存,但是只有你擁有強大的分析能力時,它才是寶藏,否則它只是一塊平坦的空間,充滿著0或1。所有的內核實時數據均在 /dev/mem 中,找到它們才有意義,但找到它們并不容易。
crash & gdb工具會把這件事情做得很好。本文后面將側重于crash工具,gdb與此類似。
crash不光可以用來分析調試已經死掉的Linux尸體的vmcore內存映像,還可以用來分析調試活著的Linux Live內存映像,比如/dev/mem和/proc/kcore。同樣都是內存映像,調試活著的內存映像顯得更加有趣些。
關于Linux crash工具怎么結合/dev/mem進行任意修改內存就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。