Android应用无源码调试技术研究

来源 :电子科技大学 | 被引量 : 5次 | 上传用户:mater
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Android系统是一款应用于移动电子设备的嵌入式操作系统,它由美国Google公司研发并推广,因其开源、免费、功能强大等特点而流行于世。在这个系统下的软件越来越多的同时,该平台上的病毒、木马、恶意软件也越来越多,对无源代码的软件的分析工作显得越来越重要。无源码的动态调试技术作为分析软件最方便实用的技术,在Windows、Linux系统下都已经非常先进,但在Android平台下却刚刚起步。本文主要研究Android应用在无源码的条件下进行动态调试的技术方法,将工作分为Android应用Java层无源码调试技术研究与Android应用Native层无源码调试技术研究两部分,其内容包括:一、在Java层调试技术研究中,本文针对官方的SDK开发工具无法调试无项目源代码的Android应用的问题,研究了Android SDK源代码和Android平台的调试构架体系中每个调试命令实现过程及原理,分析dex文件格式,提出了将传统Java平台调试系统与Dalvik指令字节码结合,在dex文件的汇编字节码上进行动态调试的技术方法,将通用个人计算机上的无源码动态调试技术应用到Anroid平台中,解决了调试无源码的Android应用过程中建立调试连接、反汇编、下断点、代码定位、设置观察点、查看寄存器等调试功能的技术实现问题。二、在Native层无源码调试技术的研究中,本文针对官方的NDK开发工具无法调试无项目源代码的so库文件的难题,研究了Android环境中elf文件格式、JNI调用的实现及Gdb的工作原理,提出了通过模拟Android系统JNI调用环境关联so库文件与Gdb技术方法,扩展了Gdb功能,使其支持Android应用中so库文件的调试并能对JNI调用进行控制,解决了调试无源码的Android应用的so库文件过程中加载调试文件、建立调试连接、反汇编、下断点、代码定位、JNI访问控制等调试功能的技术实现问题。本文提出的技术方法相对于Dalvikvm终端调试的方法,优势在于:调试对象是apk文件,由仅支持Java终端程序的调试提升到支持对Activity的调试;支持对JNI调用的Native库文件的动态调试;调试工作集中于调试端中,不需要编译新的Android系统镜像,具有更强的通用性,能应用到市场上的手机中。
其他文献
随着汽车工业的发展,车载设备正朝着网络化和智能化的方向快速推进,汽车电子软硬件系统变得越来越复杂,它的实时性、正确性、安全性和扩展性越来越难以得到保证。为解决这些
目前,生物医学文献正呈指数级别增长,其中存储着丰富的知识,对生物医学的科研、教学和实践,疾病的诊断、预防和治疗,新药的研制都起着至关重要的作用。因此,从这些海量的文献
在网络技术不断发展的过程中,异构网络融合的发展尤其迅速,网络越来越趋向于一体化。Ad Hoc网络具有很多优点,包括使用费用低、网络架设方便,组网方式灵活等。通过将现有Ad H
随着增强现实在生活中的逐步应用以及空间数据的爆炸性增长,对空间数据的存储也提出了更严格的要求,尤其是存储系统的可用性,可扩展性和高效性等。传统的分布式数据存储方案
在我们的日常生活中,智能手机的使用越来越普及,至今已成为人们接收和传递信息的主要途径。随着时代的发展,智能手机软件的生产数量日益增多。从许多智能手机操作系统Android
对增加道路安全和减少交通事故的迫切需求促使高级驾驶辅助系统(ADAS)技术的快速发展。如强制安全带的使用率,降低限速,安全气囊和侧振动带等一系列更严格的车辆安全要有,则有助
智能视频监控系统能够自动地监控场景,当发现场景中有违规行为时立即引发警报,从而大大减小了工作人员的工作量,提高了检测的准确率,所以智能视频监控系统与传统的视频监控系
1978年,从DEC公司的一名市场销售代表向所有美国西海岸的ARPANET用户发送了一封关于DEC-20新型计算机广告邮件的这一刻起,人类史上第一封垃圾邮件诞生了,从此垃圾邮件伴随着
随着人们对智能系统的要求越来越高,为了满足市场需求,相应的一系列Android应用也应运而生。其中,Android手机上的视频播放器便是最具有代表性的应用之一,然而Android自带的
近年来,随着电子商务的快速发展,网购评论作为传统口碑的数字化版本已经成为网络消费评价的最主要信息来源之一。一方面,大量的理论研究和实践应用表明,网购评论信息所蕴含的消费