error: only position independent executables (PIE) are supported.

root@hlte:/data/local # ./tcpdump -p -s 0                                       
error: only position independent executables (PIE) are supported.

由于使用了NDK編譯的可執(zhí)行文件在應(yīng)用中調(diào)用,在4.4及之前的版本上一直沒(méi)出問(wèn)題。最近由于要測(cè)試在Android L上的運(yùn)行情況發(fā)現(xiàn),當(dāng)運(yùn)行該可執(zhí)行文件時(shí),報(bào)上面的錯(cuò)誤。

PIE這個(gè)安全機(jī)制從4.1引入,但是Android L之前的系統(tǒng)版本并不會(huì)去檢驗(yàn)可執(zhí)行文件是否基于PIE編譯出的。因此不會(huì)報(bào)錯(cuò)。但是Android L已經(jīng)開(kāi)啟驗(yàn)證,如果調(diào)用的可執(zhí)行文件不是基于PIE方式編譯的,則無(wú)法運(yùn)行。解決辦法是在Android.mk中加入如下flag就行。

LOCAL_CFLAGS += -pie -fPIE
LOCAL_LDFLAGS += -pie -fPIE

基于tcpdump的Android智能移動(dòng)終端數(shù)據(jù)包捕獲完整解決方案

Android tcpdump抓包應(yīng)用實(shí)現(xiàn)

Android通過(guò)tcpdump抓包

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容