




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安卓加固APK防破解常用技术安卓加固APK防破解常用技术安卓加固APK防破解常用技术xxx公司安卓加固APK防破解常用技术文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度APK防破解常用技术汇总引言防破解技术汇集关键逻辑放服务端用nativecode替代Java代码代码混淆Java代码混淆nativecode混淆运行前做完整性校验,防止重打包zip加密位法dex加密隐藏dex嵌入异常汇编法资源混淆法禁止调试与模拟器检测附录资料安卓破解常用工具软件加固apk实例引言安卓应用防止破解和重打包可以选择梆梆加固、阿里聚安全、爱加密等成熟解决方案,他们的加固比较彻底,使用的技术也比较深层次,所以破解难度也很大,但是有可能带来应用不稳定的问题,所以周期长。如果不选择梆梆加固等的成熟方案,那么可以选择将一些防破解和重打包的对抗技术组合使用,虽然不如成熟方案层次深,但是使用简单,周期短,防住普通破解者也有不错的效果。这里将一些这样的防破解技术整理如下,仅供参考。每个技术都标注了易用性和防破解效果,易用性越高表明越容易实现,防破解效果越高表明攻击者越难破解。其中易用性越高表明越容易开发实现,防破解能力越高表明攻击者越难破解。防破解技术汇集关键逻辑放服务端尽可能将关键的逻辑代码放在服务端运行,减少敏感代码暴露在客户端。让客户端只做一些API请求和界面交互。易用性:高防破解能力:中用nativecode替代Java代码将一部分关键的或者计算密集型的代码用nativecode(AndroidNDK)来编写,不仅能提高运行效率,也能增加攻击者的逆向难度。易用性:中防破解能力:高代码混淆Java代码混淆安卓标配了proguard,推荐使用。易用性:高防破解能力:中nativecode混淆对nativecode做混淆,开源工具有:obfuscator-llvm/obfuscator/wiki根据经验,这会让破解难度大大增加。易用性:中防破解能力:高运行前做完整性校验,防止重打包事先打包完成后,计算dex等文件的hash值,后续再植入原生代码进行校验,如果hash值不相等,那么程序一定被重打包执行。易用性:中(每次更新发布需要修改)防破解能力:低/中zip加密位法讲apk的zip加密位置1,在android解析apk时,由于忽略了加密zip,直接跳过了加密头部的解析,因此通过修改zip格式的加密标识,可以实现伪加密。易用性:低防破解能力:低/中dex加密隐藏类似于梆梆加固类的方法,将dex文件加密隐藏,在程序加载之后,再从内存加载dex文件。易用性:低,需要开发大量代码防破解能力:高dex嵌入异常汇编法这个方法主要目标就是让apktool或dex2jar等工具不能正常工作。举例如下:在最终smali汇编中嵌入如下函数,会让dex2jar工具崩溃,无法解析。.methodpublictestdex2jarcrash(Ljava/lang/String;Ljava/lang/String;)V
.registers3
.paramp1,"test1"#Ljava/lang/String;
.paramp2,"test2"#Ljava/lang/String;
.annotationbuildLcom/system/TestA;
.endannotation
.endparam#这里是引起崩溃的关键,注释掉就可以正常解析
return-void
.endmethod易用性:较低防破解能力:高资源混淆法通过一定的方法构造资源文件,使apktool自动打包和解包失败。(目前已经具有相关能力)禁止调试与模拟器检测在安卓程序中禁止调试选项,主要有两个点需要覆盖。一,设置中的android:debuggable="true",则ApplicationInfo().flags被设置为true。使用()可以获取文件的信息。样例代码如下:if(getApplicationInfo().flags&ApplicationInfo().FLAG_DEBUGGABLE!=0){//somecrackeriscrackingthisapk} 二,检测调试器是否连接在较隐蔽的代码处,调用如下函数获取是否被调试信息。if{//somecrackerisdebuggingthisapk}为了达到更隐蔽的效果,可以使用Java的反射机制来动态找到这些方法调用,而不是直接调用,调用之后也不要直接退出程序,而是设置变量让后续逻辑知晓,这都可以让破解难度变大。三,模拟器检测公开发布版本不在运行在模拟器中执行,一旦发现就立刻退出。模拟器检测方法有很多,常见的如:模拟器的操作系统codename为generic,可以通过以下几种方法来检测。直接代码方法,类中。包括了这样的一些信息。可以直接调用而不需要添加任何的权限和方法。直接检测Landroid/os/Build;->MODEL是否为“sdk”,如果是,则为模拟器。使用系统工具方法,如下表:$adbshellgetprop[[1][]:[goldfish][[test-keys][[sdk][[generic][[sdk][[generic][[][[unknown][[][[generic][[generic/sdk/generic:易用性:高防破解能力:中附录资
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东金融学院《肿瘤生物治疗学》2023-2024学年第二学期期末试卷
- 山西信息职业技术学院《现代广告学》2023-2024学年第二学期期末试卷
- 南昌医学院《实验室安全与环保》2023-2024学年第二学期期末试卷
- 四川护理职业学院《水运工程施工技术》2023-2024学年第二学期期末试卷
- 活动三 老建筑的去和留(教学设计)-2023-2024学年六年级下册综合实践活动沪科黔科版
- 台州学院《教师口语技能训练》2023-2024学年第二学期期末试卷
- 广东邮电职业技术学院《会计信息系统单统计学双》2023-2024学年第二学期期末试卷
- 西南大学《数据采集与清洗》2023-2024学年第二学期期末试卷
- Unit 2 Period2 Section A Pronunciation 教学设计 2024-2025学年人教版英语七年级上册
- 贵阳康养职业大学《马克思主义经典文献导读(政治经济学)》2023-2024学年第二学期期末试卷
- 点亮生命-大学生职业生涯发展与就业指导全套教学课件
- 外墙清洗成本分析报告
- 特殊作业现场监护人安全培训课件
- 环境修复原理与技术-第5章-污染环境的植物修复原理
- 2024年1月浙江省首考普通高等学校招生全国统一考试英语试题
- 关于新能源场站“两个细则”的影响和管理措施
- 手术部位感染预防控制措施
- 中医类诊所规章制度与岗位职责
- 初中语文 中考总复习-文言文断句训练120题(含答案解析)
- 影视鉴赏-动画电影课件
- 美学原理全套教学课件
评论
0/150
提交评论