卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

動(dòng)態(tài)壁紙大全 c語言如何實(shí)現(xiàn)動(dòng)態(tài)替換動(dòng)態(tài)庫so文件后,主程序自動(dòng)加載更新?

c語言如何實(shí)現(xiàn)動(dòng)態(tài)替換動(dòng)態(tài)庫so文件后,主程序自動(dòng)加載更新?為了實(shí)現(xiàn)熱更新,so的加載機(jī)制必須由主程序接管,而不需要修改操作系統(tǒng)。so更新后,將手動(dòng)或自動(dòng)觸發(fā)鎖定加載解鎖過程。elf可執(zhí)行文件如何動(dòng)態(tài)

c語言如何實(shí)現(xiàn)動(dòng)態(tài)替換動(dòng)態(tài)庫so文件后,主程序自動(dòng)加載更新?

為了實(shí)現(xiàn)熱更新,so的加載機(jī)制必須由主程序接管,而不需要修改操作系統(tǒng)。so更新后,將手動(dòng)或自動(dòng)觸發(fā)鎖定加載解鎖過程。

elf可執(zhí)行文件如何動(dòng)態(tài)加載一個(gè)so?

有三種方法:1。在elf的末尾插入外殼代碼,然后修改elf文件的最后一個(gè)pt,通過增加段頭來加載段的長度。將DT_uinitsection或DT_initarray的指針指向您的外殼代碼,這也是一般增強(qiáng)技術(shù)的方法。2將此ELF文件a打包到另一個(gè)ELF文件B中。在完成B中的操作后,加載a。如果不想將a釋放到文件系統(tǒng)中,則必須自己實(shí)現(xiàn)鏈接器。納加的增援也做了同樣的事。三。修改ELF文件中的動(dòng)態(tài)部分并添加一個(gè)新的DT類型的部分。所需的節(jié)點(diǎn)還應(yīng)在strsz部分中寫入要加載到DT的so的名稱,因?yàn)镋LF文件中的所有地址都是死的,所以可能沒有空位置供您插入新節(jié)點(diǎn)。您可能需要?jiǎng)h除現(xiàn)有節(jié)點(diǎn)才能插入新節(jié)點(diǎn)。如果您熟悉llvm,那么可以使用llvm將ELF文件轉(zhuǎn)換為與地址無關(guān)的LIR語言,然后對(duì)其進(jìn)行修改。