對於最新的Android病毒,Smack完全可以抵禦

來源:互聯網
上載者:User

我寫的有關Smack和Android系統結合的技術部落格,希望有志之士可以參透其中奧妙,Smack作為Linux核心安全模組,已經可以移植到Android系統中,如果大家弄清我寫的Smack安全性原則,可以結合自己想法,將Smack繼續和Android系統結合,將會發揮更好的存取控制效果。

為了實現模組化編程,libsmack庫作為靜態庫或動態庫裝載,並為其它功能模組提供調用介面。libsmack庫包含了smack開放給應用程式層的工具 + 生產力,其中較常用的是load_smack、setsmack和setsmackrule,它們分別表示裝載smack虛擬檔案系統、特權進程為自身設定安全性標籤和特權進程向/smack/load中寫人smack規則。

1. 定義標頭檔和源檔案

開啟終端shell,輸入指令“cd /android4.0/externalmkdir libsmack cd libsmack mkdir include mkdir src”,其中include為標頭檔所在目錄,src為源檔案所在目錄。切換到include目錄中,輸入指令“mkdir smack cd smack vim smack.h”,定義以上三個函數,如下所示:

切換到src目錄下,建立load_smack.c、setsmackrule.c和setsmack.c三個檔案並將這些函數實現。load_smack函數使用mount函數來掛載smackfs,setsmackrule首先格式化參數,然後利用write函數向/smack/load寫入一條smack規則,setsmack利用write函數向“/proc/self/attr/current”中寫入進程安全性標籤。

2. 定義Android.mk檔案

Android.mk檔案是Android源碼的編譯檔案,包含了編譯規則,類似Linux的makefile檔案,Android.mk書寫是有規則可循的,在此不再闡述。在該檔案中加入“include $(BUILD_STATIC_LIBRARY)”和“include $(BUILD_SHARED_LIBRARY)”將其編譯成靜態和動態連結程式庫。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.