Android Native层代码混淆保护研究
发布时间:2021-06-01 02:26
Android操作系统已经成为了我们生活中不可或缺的一部分,从智能手机到智能电视、以及物联网下的各种智能设备,都与Android系统息息相关。Android系统的开源性以及应用分发渠道的不完善,导致各种恶意软件及破解软件泛滥,应用的二次打包、恶意广告植入、代码的窃取等屡见不鲜。Android应用的代码分为两个部分,第一部分是由Java或Kotlin编译生成的运行于Art或Dalvik虚拟机环境下的字节码,对于字节码的保护已经有较为广泛的研究。另一部分是由C/C++编译生成的.SO动态链接库文件,直接运行在移动端处理器环境中,一般称为Native层代码或本地代码,对本地代码保护的研究却略为不足。本文在研究业内相关开源保护方案的基础上,结合移动端处理器的特性,针对代码的控制流和指令及数据展开混淆研究。控制流混淆方面,本文给出了3种方法:1)打乱基本块之间的前后顺序,将所有的基本块排布于并列的结构中,通过统一的块调度分发器来决定下一个将要执行的基本块。并列的基本块通过常量得到连接,利用简易神经网络对常量展开混淆,使得块调度的衔接过程得到隐藏,从而无法静态逆向分析程序的原始逻辑。2)研究各种不...
【文章来源】:华南理工大学广东省 211工程院校 985工程院校 教育部直属院校
【文章页数】:82 页
【学位级别】:硕士
【部分图文】:
全球操作系统市场份额但是Android操作系统从设计之初就没有考虑到后续发展的应用生态安全性,其起源于对数码相机的系统支持,后来转向为一款开源手机解决方案,并于2007年被Google
图 1-2Android 代码混淆分类[6]虽然学术界已经有大量关于字节码层面的保护研究[8,9],但对于反混淆、反加密保护的研究也在同时进行中[10, 11, 12]。上述的保护手段主要围绕 Android 字节码层面,针对Android Native 层代码的保护相对较少,但从目前已有的方案来看,Native 层代码的保护方案主要包括 SO 文件整体加固和局部混淆。
后续版本引入了 ART 机制,即在安装时,预先将 处理器相关机器码,从而加快程序的运行速度,如图 2-3本系统的兼容性,ART 虚拟机带来的变化体现在应用的运身的结构,因此字节码层面动态加解密的保护也变得更加
本文编号:3209479
【文章来源】:华南理工大学广东省 211工程院校 985工程院校 教育部直属院校
【文章页数】:82 页
【学位级别】:硕士
【部分图文】:
全球操作系统市场份额但是Android操作系统从设计之初就没有考虑到后续发展的应用生态安全性,其起源于对数码相机的系统支持,后来转向为一款开源手机解决方案,并于2007年被Google
图 1-2Android 代码混淆分类[6]虽然学术界已经有大量关于字节码层面的保护研究[8,9],但对于反混淆、反加密保护的研究也在同时进行中[10, 11, 12]。上述的保护手段主要围绕 Android 字节码层面,针对Android Native 层代码的保护相对较少,但从目前已有的方案来看,Native 层代码的保护方案主要包括 SO 文件整体加固和局部混淆。
后续版本引入了 ART 机制,即在安装时,预先将 处理器相关机器码,从而加快程序的运行速度,如图 2-3本系统的兼容性,ART 虚拟机带来的变化体现在应用的运身的结构,因此字节码层面动态加解密的保护也变得更加
本文编号:3209479
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3209479.html