APK加固技术破解方法研究.pdf
《APK加固技术破解方法研究.pdf》由会员分享,可在线阅读,更多相关《APK加固技术破解方法研究.pdf(4页珍藏版)》请在咨信网上搜索。
1、计算机时代 2023年 第9期0 引言随着智能手机在我国的普及,人们的上网方式也随之发生改变。第50次中国互联网络发展状况统计报告 显示,截至 2022年 6月,我国网民规模为 10.51亿,其中手机网民规模为 10.47 亿,占全体网民的99.6%1。手机用户的高速增长促进了移动支付技术广泛应用,各类智能手机应用程序(以下简称 APP)APP迅速覆盖了人们日常出行、购物娱乐、金融理财等各个领域,其中安卓系统的应用程序占有较高比例,为确保手机端应用程序安全,开发者使用加壳、代码加密、资源混淆等加固技术,来保护安卓应用程序的安装包(AndroidPackage,简称APK),这种方法在解决手机应
2、用安全问题的同时,也给APK取证分析带来了困扰。本文对APK常见加固技术进行分析研究,提出基于静态分析的破解方法,为公安机关开展APK分析取证提供思路和方法。1 常见APK加固技术通常情况下,为应对目前移动应用市场领域的破解、反编译、盗版等现象,企业在开发手机应用时会对APK加固以实现代码加密。APK加固的目的是保护APK代码逻辑,其原理是将APK文件进行隐藏、混淆、加密等操作,使反编译无法获取APK内的项目源码和资源。加固后的APK最明显特征是反编译后无法直观地查看 APK中的 Java代码,部分 APK无法通过正常解包或反编译得到资源文件,甚至AndroidManifest.xml文件中的
3、特征也被隐藏起来。常见APK应用加固方法主要有整体型加固、函数DOI:10.16644/33-1094/tp.2023.09.007APK加固技术破解方法研究*斯进1,杨雪1,裴洪卿2,岑嘉俊2(1.浙江警察学院,浙江 杭州 310053;2.杭州平航科技有限公司)摘要:为解决智能手机应用程序加固后无法获得代码运行逻辑及敏感数据的问题,研究了加壳、代码加密、结构加固、资源混淆等APK常见加固技术的基本原理。通过脱壳查看核心功能代码、修复魔数头、根据ZIP文件结构去除垃圾内容、破解加密算法等方法,对APK进行加固破解。该方法基于大量APK实例总结提炼而来,具有一定的普适性,可为取证人员开展涉案A
4、PK分析取证提供支持。关键词:手机应用程序;逆向分析;APK加固技术;App加固破解中图分类号:TP399文献标识码:A文章编号:1006-8228(2023)09-29-03Research on cracking methods of APK reinforcement technologySi Jin1,Yang Xue1,Pei Hongqin2,Chen Jiajun2(1.Zhejiang Police College,Hangzhou,Zhejiang 310053,China;2.Hangzhou Pinghang Technology Co.,Ltd)Abstract:To
5、solve the problem that the code running logic and sensitive data cannot be obtained after the smart phone applicationis reinforced,the basic principles of common APK reinforcement techniques such as shelling,code encryption,structure reinforcementand resource obfuscation are studied.The reinforced A
6、PK is cracked by some methods such as shelling to view the core functioncode,repairing the magic number header,removing the garbage content according to the ZIP file structure,and cracking theencryption algorithm.These methods are based on the summary and extraction of a large number of APK cases,an
7、d have a certaindegree of universality,which can provide support for forensics personnel to conduct APK analysis and evidence collection.Key words:mobile application;reverse analysis;APK reinforcement technology;App cracking technology收稿日期:2023-03-30*基金项目:浙江省教育厅一般科研项目(编号Y201839574);杭州市科技发展项目(编号:2020
8、04A06)作者简介:斯进(1976-),女,浙江省龙游人,大学本科/工程硕士,副教授,主要研究方向:网络安全、计算机取证。29Computer Era No.9 2023抽取加固和虚拟机源码保护三类。具体特点如表1所示。表1常见APK加固方法及特点加固类型特点整体型采 用 dex 整 体加密,动态加载运行的机制。函数抽取型粒度更细,将 APK 中的代码功能函数单独抽取出来,加密保存,等用到相应功能时解密执行。虚拟机源码保护独立虚拟机解释执行、语义等价语法迁移,强度最高。随着APK开发流程的逐步细化,开发者主要通过从市场上购买加壳服务来实现对APK的加固,因此常使用的方式是整体型加固。整体加固
9、需要源程序、加密工具和解壳程序三要素共同参与实现对原APK的dex 文件进行加密,启动应用时对 dex 解密,通过DexClassLoader进行加载,具体流程如图1所示2。源程序:需要被加壳保护的 Android应用程序的代码,可以是Android应用的apk也可以是Android应用的dex文件和so库文件。加密工具:对源程序进行加密的工具,即对Android应用的APK或者Android应用的dex文件和so库文件进行加密的工具,为解壳程序提供源程序的解壳数据,语言和平台不限,加密处理方式根据加壳的需求来处理。壳dex文件:实现解密解壳数据并通过DexClass-Loader动态加载和运
10、行源程序的代码,实现 Android解壳程序与Android源程序的无缝替换,Android源程序APK得到执行3。图1dex整体加固流程2 实例分析如上文所述,整体加固实现对APK的加密、混淆、加壳处理,因此,破解工作并非一蹴而就,市场上主流软件也难以实现自动化处理4。本文将结合实例逐一演示加固技术破解方法。2.1 加壳处理要解决APK加壳问题,首先需要了解加壳的原理和类型,以便能够正确识别APK的壳。APK加壳就是通过在二进制的程序中植入一段代码,使其在运行时优先取得程序的控制权,以达到完成一些额外功能的目的。APK被加壳时,会将源dex文件进行加密拼接写入壳dex文件中,同时记录位置以方
11、便壳知道从哪里开始加载源dex文件内容。这意味着新的dex文件内容由壳dex文件和加密后的源dex文件组成。基于Xposed类工具的安卓端脱壳方法5该方法原理是针对加载已解密 dex 内容的 com.Android.dex.Dex 类对象内容进行提取,进而得到源dex文件。脱壳时,需要准备一个具有root权限的安卓设备,或者使用具有 root 权限的安卓模拟器安装Xposed框架和脱壳工具进行APK脱壳,并且需要通过adb命令导出脱壳后的源dex文件。利用Frida工具暴力提取 dex文件该方法原理是先使用具有 root权限的安卓设备(手机/模拟器)安装运行加固APK,再将加载到安卓设备内存中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- APK 加固 技术 破解 方法 研究
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。