溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux crash工具怎么結(jié)合/dev/mem進(jìn)行任意修改內(nèi)存

發(fā)布時(shí)間:2021-11-03 17:55:53 來(lái)源:億速云 閱讀:163 作者:柒染 欄目:建站服務(wù)器

這篇文章給大家介紹Linux crash工具怎么結(jié)合/dev/mem進(jìn)行任意修改內(nèi)存,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

Linux內(nèi)核程序員幾乎每天都在和各種問(wèn)題互相對(duì)峙:

內(nèi)核崩潰了,需要排查原因。

系統(tǒng)參數(shù)不合適,需要更改,卻沒(méi)有接口。

改一個(gè)變量或一條if語(yǔ)句,就要重新編譯內(nèi)核。

想稍微調(diào)整下邏輯卻沒(méi)有源碼,沒(méi)法編譯。

解決每一類問(wèn)題都需要消耗大量的時(shí)間,特別是重新編譯內(nèi)核這種事情。于是,每一個(gè)Linux內(nèi)核程序員或多或少都會(huì)掌握一些Hack技巧,以節(jié)省時(shí)間提高工作效率。

然而,自己Hack內(nèi)核非常容易出錯(cuò),稍不留意就會(huì)傷及無(wú)辜(panic,踩內(nèi)存…),然后你會(huì)陷入沒(méi)完沒(méi)了的細(xì)節(jié),比如查找頁(yè)表就夠折騰。

俗話說(shuō)工欲善其事,必先利其器,臨淵羨魚(yú),不如退而結(jié)網(wǎng)。

但是如果你使用現(xiàn)成的工具,就會(huì)發(fā)現(xiàn)有時(shí)候工具很難擴(kuò)展。自己需要的邊緣小眾功能往往并不提供,你依然需要自己動(dòng)手但卻又無(wú)從下手。

怎么辦?為何不把二者結(jié)合呢?

作為L(zhǎng)inux內(nèi)核開(kāi)發(fā)者,這些工具的熟練使用是必須的。

/dev/mem 幾乎總是被宣稱為作為整個(gè)物理內(nèi)存映像可以被mmap到進(jìn)程地址空間,很多人確實(shí)將/dev/mem設(shè)備文件mmap到了自己的程序,然而卻幾乎一無(wú)所得。這不是程序員的錯(cuò),畢竟作為一個(gè)平坦的內(nèi)存地址空間,/dev/mem的內(nèi)容看起來(lái)沒(méi)有任何結(jié)構(gòu),一般DIY的程序根本就無(wú)力解析它。

/dev/mem 是個(gè)寶藏,它暴露了整個(gè)內(nèi)存,但是只有你擁有強(qiáng)大的分析能力時(shí),它才是寶藏,否則它只是一塊平坦的空間,充滿著0或1。所有的內(nèi)核實(shí)時(shí)數(shù)據(jù)均在 /dev/mem 中,找到它們才有意義,但找到它們并不容易。

crash & gdb工具會(huì)把這件事情做得很好。本文后面將側(cè)重于crash工具,gdb與此類似。

crash不光可以用來(lái)分析調(diào)試已經(jīng)死掉的Linux尸體的vmcore內(nèi)存映像,還可以用來(lái)分析調(diào)試活著的Linux Live內(nèi)存映像,比如/dev/mem和/proc/kcore。同樣都是內(nèi)存映像,調(diào)試活著的內(nèi)存映像顯得更加有趣些。

關(guān)于Linux crash工具怎么結(jié)合/dev/mem進(jìn)行任意修改內(nèi)存就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI