Android Native層代碼混淆保護研究
發(fā)布時間:2021-06-01 02:26
Android操作系統(tǒng)已經成為了我們生活中不可或缺的一部分,從智能手機到智能電視、以及物聯網下的各種智能設備,都與Android系統(tǒng)息息相關。Android系統(tǒng)的開源性以及應用分發(fā)渠道的不完善,導致各種惡意軟件及破解軟件泛濫,應用的二次打包、惡意廣告植入、代碼的竊取等屢見不鮮。Android應用的代碼分為兩個部分,第一部分是由Java或Kotlin編譯生成的運行于Art或Dalvik虛擬機環(huán)境下的字節(jié)碼,對于字節(jié)碼的保護已經有較為廣泛的研究。另一部分是由C/C++編譯生成的.SO動態(tài)鏈接庫文件,直接運行在移動端處理器環(huán)境中,一般稱為Native層代碼或本地代碼,對本地代碼保護的研究卻略為不足。本文在研究業(yè)內相關開源保護方案的基礎上,結合移動端處理器的特性,針對代碼的控制流和指令及數據展開混淆研究?刂屏骰煜矫,本文給出了3種方法:1)打亂基本塊之間的前后順序,將所有的基本塊排布于并列的結構中,通過統(tǒng)一的塊調度分發(fā)器來決定下一個將要執(zhí)行的基本塊。并列的基本塊通過常量得到連接,利用簡易神經網絡對常量展開混淆,使得塊調度的銜接過程得到隱藏,從而無法靜態(tài)逆向分析程序的原始邏輯。2)研究各種不...
【文章來源】:華南理工大學廣東省 211工程院校 985工程院校 教育部直屬院校
【文章頁數】:82 頁
【學位級別】:碩士
【部分圖文】:
全球操作系統(tǒng)市場份額但是Android操作系統(tǒng)從設計之初就沒有考慮到后續(xù)發(fā)展的應用生態(tài)安全性,其起源于對數碼相機的系統(tǒng)支持,后來轉向為一款開源手機解決方案,并于2007年被Google
圖 1-2Android 代碼混淆分類[6]雖然學術界已經有大量關于字節(jié)碼層面的保護研究[8,9],但對于反混淆、反加密保護的研究也在同時進行中[10, 11, 12]。上述的保護手段主要圍繞 Android 字節(jié)碼層面,針對Android Native 層代碼的保護相對較少,但從目前已有的方案來看,Native 層代碼的保護方案主要包括 SO 文件整體加固和局部混淆。
后續(xù)版本引入了 ART 機制,即在安裝時,預先將 處理器相關機器碼,從而加快程序的運行速度,如圖 2-3本系統(tǒng)的兼容性,ART 虛擬機帶來的變化體現在應用的運身的結構,因此字節(jié)碼層面動態(tài)加解密的保護也變得更加
本文編號:3209479
【文章來源】:華南理工大學廣東省 211工程院校 985工程院校 教育部直屬院校
【文章頁數】:82 頁
【學位級別】:碩士
【部分圖文】:
全球操作系統(tǒng)市場份額但是Android操作系統(tǒng)從設計之初就沒有考慮到后續(xù)發(fā)展的應用生態(tài)安全性,其起源于對數碼相機的系統(tǒng)支持,后來轉向為一款開源手機解決方案,并于2007年被Google
圖 1-2Android 代碼混淆分類[6]雖然學術界已經有大量關于字節(jié)碼層面的保護研究[8,9],但對于反混淆、反加密保護的研究也在同時進行中[10, 11, 12]。上述的保護手段主要圍繞 Android 字節(jié)碼層面,針對Android Native 層代碼的保護相對較少,但從目前已有的方案來看,Native 層代碼的保護方案主要包括 SO 文件整體加固和局部混淆。
后續(xù)版本引入了 ART 機制,即在安裝時,預先將 處理器相關機器碼,從而加快程序的運行速度,如圖 2-3本系統(tǒng)的兼容性,ART 虛擬機帶來的變化體現在應用的運身的結構,因此字節(jié)碼層面動態(tài)加解密的保護也變得更加
本文編號:3209479
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/3209479.html