- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大学科技创新
基于权限的安卓软件安全分析
截止2015年12月31日,安卓APP总体数量已超过140万。
两年新闻频繁曝光的信息泄露、恶意扣费、系统入侵的案件时有发生:恶意广告应用愈加火热、通过窃取重要隐私信息、频繁推送广告、静默下载安装其他应用、拦截短信等方式非法牟利;手机支付软件暗藏风险、不少支付插件被植入恶意应用;短信拦截木马大面积爆发;以及利用低俗内容引诱用户下载,安装后会在后台不断推送恶意应用,消耗手机流量、非法赚取推广费用甚至发送扣费短信,逐步形成一条通过恶意推广和恶意扣费进行非法牟利的灰色利益链。
研究背景
Part 1
Part 2
Part 3
Part 1
Part 2
Part 3
+7%
Android应用代码加壳技术与混淆技术使得传统的静态分析方法受到了极大的冲击,通过静态的反编译方法无法对Dalvik字节码进行有效的还原,大量冗余和混淆代码影响了逆向的进行,静态分析的优点是简单并且快捷,但是它最大的缺点是扫描恶意软件前需要知道已知恶意软件信息,如签名、行为模式、权限申请等,使得它不能实现自动扫描并适应未知恶意程序的功能。
现状
Android应用静态信息的获取
Part 1
Part 2
Part 3
Android应用的编译与反编译
Androidmanifest.xml文件的解析
数据库的设计与信息存储
界面的设计与展示
Part 1
Part 2
Part 3
Android应用的编译与反编译
Part 1
Part 2
Part 3
Android应用的编译与反编译
(一)资源文件编译处理:首先打包资源的工具aapt检查AndroidManifest.xml的合法性,之后对res的xml文件编译相当于简单加密、源文件的xml可以打开、apk中的xml打开为乱码,apk被成功反编译后这个文件也被解密出来,对res资源进行处理包括资源文件名合法性检查向资源表table添加条目、编译res与asserts资源生成resources.arsc,最后将两者打包压缩成resources.ap_;
(二)源代码的编译:aidl处理aidl文件(即android接口定义文件)生成相应的java文件,javac编译src生成classes文件夹、有时android ndk编译c/c++代码,dx转换class生成classes.dex;
(三)apk文件的打包:apkbuild打包生成apk,往apk添加资源、往apk写入依赖库,接着添加native库、也就是android ndk编译生成的so或bin文件,jarsigner对apk签名,zipalign.exe对apk对齐处理,使得apk包所有资源文件距离文件起始偏移为4字节整数倍、这样通过映射访问apk更快。
Part 1
Part 2
Part 3
Androidmanifest.xml文件的解析
1、package(包名):指定本应用内java主程序包的包名,它是应用程序的唯一标识符,也是一个应用进程的默认名称;
2、versionCode(版本号):是给设备程序识别版本(升级)用的,必须是一个interger值,代表app更新过多少次;
3、versionName(版本名):这个名称是给用户看的;
4、minSdkVersion(最小sdk版本):表示该应用运行环境所需的最小版本号;
5、targetSdkVersion(目标sdk版本):表示目标设备的版本号;
6、debuggable(是否允许调试):当设置为true时,表明该APP在手机上可以被调试。默认为false,在false的情况下调试该APP,就会报错;
7、allowBackup(是否允许备份和恢复数据)
Part 1
Part 2
Part 3
Androidmanifest.xml文件的解析
8、action(入口点):这一项信息最常见的android:name值为android.intent.action.MAIN,表明此activity是作为应用程序的入口。
9、category(是否在列表显示):这一项信息常见的android:name值为android.intent.category.LAUNCHER,决定应用程序是否显示在程序列表里;
10、application(应用名)
11、permission(权限):这是最常用的属性,开发者可以在此声明应用程序使用的API所必需申请的权限,以及声明其他应用与该应用组件交互所需具备的权限,这是我们研究的重点;
12、md5值:每个app都具有的唯一的签名信息;
13、apkName:用户看到的应用名。
Part 1
Part 2
Part 3
数据库的设计与信息存储
应用信息表
字段名
数据类型
长度
主键否
描述
appId
您可能关注的文档
- 2016年江苏省劳动模范和先进工作者审批表综述.doc
- 2016年江苏省南京市中考历史试卷(word解析版)综述.doc
- 2016年武清区讲座综述.ppt
- 2016年江苏省南京市溧水区中考化学二模试卷(解析版)综述.doc
- 2016年江苏省徐州市中考化学试卷(解析版)综述.doc
- 2016年江苏省录用公务员考试《行政职业能力测验》真题卷(C类)参考答案与解析综述.doc
- 2016年江苏省盐城市中考作文题目及点评:充溢着生命正能量档综述.doc
- 2016年江苏自考有机化学05522考试大纲综述.doc
- 2016年江苏高考政治卷综述.docx
- 2016年江西单招历史模拟试题:罗斯福新政综述.docx
文档评论(0)