Linux下有許多常用的命令,例如cd可以打開一個(gè)目錄;ls可以查看目錄或文件;rm可以刪除目錄或文件。每個(gè)Linux命令其實(shí)就是一個(gè)可執(zhí)行的二進(jìn)制文件,每個(gè)文件都有個(gè)MD5值,MD5值是用來(lái)保證文件不會(huì)篡改。比如安裝了相同的系統(tǒng)的環(huán)境,ls命令的MD5值都是固定的,如果修改二進(jìn)制本身的ELF文件,通過(guò)MD5值對(duì)比就很容易發(fā)現(xiàn)文件中毒了。下文通過(guò)LD_PRELOAD預(yù)加載技術(shù),在不修改Linux命令本身的情況下,改變命令執(zhí)行結(jié)果,比如實(shí)現(xiàn)對(duì)病毒文件的隱藏,或者通過(guò)鉤子實(shí)現(xiàn)定時(shí)下載病毒文件。
在可執(zhí)行程序的執(zhí)行速度上,靜態(tài)編譯的文件會(huì)優(yōu)于動(dòng)態(tài)編譯(畢竟靜態(tài)編譯把庫(kù)文件的代碼都編譯到執(zhí)行文件,與動(dòng)態(tài)編譯不同在執(zhí)行動(dòng)態(tài)庫(kù)中函數(shù)時(shí)才會(huì)去路徑下的動(dòng)態(tài)庫(kù)中尋找鏈接)。由于我要轉(zhuǎn)換的html文件非常多 可能有幾百個(gè) 所以這里不能靜態(tài)指定fopen的路徑 大家可以設(shè)置一個(gè)路徑變量 里面可以保存用戶傳來(lái)的id等信息 方便進(jìn)行html文件命名 下面是我結(jié)合上次php讀取xml數(shù)據(jù)的一個(gè)簡(jiǎn)單例子。網(wǎng)站整體鏈接一般是文本鏈接比較多,圖片鏈接略少,文本鏈接相對(duì)于搜索引擎蜘蛛而言抓取更簡(jiǎn)單,識(shí)別更方便,圖片的鏈接就需要添加title以及alt標(biāo)簽,在加上一串無(wú)法識(shí)別的圖片路徑代碼,如果你是搜索引擎蜘蛛,你會(huì)優(yōu)先識(shí)別誰(shuí)的鏈接。
當(dāng)前shell下執(zhí)行make命令,編譯生成可執(zhí)行程序文件,通過(guò)make submit命令提交程序文件至本實(shí)例bin目錄,通過(guò)cd命令定位至實(shí)例bin目錄,該程序運(yùn)行結(jié)果如下所示。另:對(duì)于相應(yīng)程序在msconfig中產(chǎn)生的啟動(dòng)項(xiàng),一般都與原程序名稱相同,同時(shí)我們也可查看“啟動(dòng)項(xiàng)目”后的“命令”欄,查看其對(duì)應(yīng)的路徑及程序名稱來(lái)核實(shí)要禁止的程序。提示:對(duì)于相應(yīng)程序在msconfig中產(chǎn)生的啟動(dòng)項(xiàng),一般都與原程序名稱相同,同時(shí)我們也可查看“啟動(dòng)項(xiàng)目”后的“命令”欄linux常用命令,查看其對(duì)應(yīng)的路徑及程序名稱來(lái)核實(shí)要禁止的程序。
第一步,我們需要知道Linux下ls命令的源碼,可以到GNU官網(wǎng)下載coreutils包,先大致分析ls命令對(duì)應(yīng)ls.c文件的實(shí)現(xiàn)。
編譯coreutils命令如下:
./configure CC="gcc -m64" CFLAGS="-pie -fPIE" FORCE_UNSAFE_CONFIGURE=1
make
在802.11幀中,有四個(gè)地址字段,一般只用到其中的三個(gè),并且,這四個(gè)字段對(duì)應(yīng)哪種地址或者使用哪些地址,根據(jù)幀中的另外一個(gè)ds字段以及幀的類型而有不同的解釋。這里的關(guān)鍵之處在于每個(gè)符號(hào)的地址在編譯時(shí)可知,所以,如果編譯器需要一個(gè)地址,可能還需要加上偏移量來(lái)執(zhí)行某種操作,它就可以直接進(jìn)行操作linux常用命令,并不需要增加指令首先取得具體的地址,相反,對(duì)于指針,必須首先在運(yùn)行時(shí)取得它的當(dāng)前值,然后才能對(duì)它進(jìn)行解除引用操作。110.110.1.2(6e 6e 01 02),括號(hào)內(nèi)為ip地址的十六進(jìn)制,每一個(gè)ac地址都按照option type、length、address組成一個(gè)字段,再將兩個(gè)字段連起來(lái)寫,整個(gè)option43字段可用十六進(jìn)制表示為:01 04 6e 6e 01 01 01 04 6e 6e 01 02,藍(lán)色表示ac1的字段,紅色表示ac2的字段。
通過(guò)代碼跟蹤分析,可知道ls實(shí)現(xiàn)分為查看文件和查看目錄兩種應(yīng)用場(chǎng)景。
當(dāng)ls查看文件時(shí),先調(diào)用stat查看文件信息,如果失敗再通過(guò)lstat查看文件信息,都失敗才會(huì)認(rèn)為查詢錯(cuò)誤。
當(dāng)ls查看目錄時(shí),主要是通過(guò)readdir來(lái)讀取目錄。
第二步,獲取要想截取ls命令,需要重定向的函數(shù)名稱。