1.混淆:Proguard.配置proguard-rules.pro文件,在app的gradle文件中把minifyEnable设置为true开启混淆。(Proguard-rules.pro:配置proguard。通过-keep保留四大组建,application资源,native方法,枚举里,自定义控件,parcelable序列化类,serializeable序列化类,有回调函数的类,实体类,webview交互类,h5和交js互类,含反射的类

2.反调试:如果一个进程被调试,这个进程的status文件的TracePid会记录调试者的ID,我们可以轮询这个文件的TracePid,发现这个id大于0就退出程序

3.加壳:

3.1加密源程序为解壳数据

3.2计算解壳数据长度并添加该长度到解壳dex文件头末尾,接续解壳数据到文件头末尾

3.3修改解壳程序dex文件头中的checksum,signature等参数,分析数据偏移量,修改偏移量,修改并覆盖清单文件

3.4解壳:从插入数据的位置读取解壳数据的长度,从dex文件读取解壳数据,解密解壳数据,以文件形式保存解密数据到apk文件,通过dexclassloader动态加载apk文件

4.运行时修改dalvik指令:定位到需要修改的ondex文件的mao地址,通过odex的长度确定dex文件的偏移量和偏移位置,找到了偏移量就可以解析dex文件头,定位dex文件各部分锁在的区域,再定位到byte code的存放位置就可以修改dalvik字节码了。byte code中的insns参数就是存放dalvik的字节码,再定位到dexmethod,codeoff就是数据结构的偏移量,得到了便宜就可以通过mprotect函数修改insns了。注:apk安装时会通过dexopt来验证并生产优化后dalvik字节码和dex文件,过程是:将apk中的class.dex解压后用dexopt处理,并保存到dalvik-cache中,odex文件会解析相关依赖,并加载所需的依赖库表附加在文件中,会修改部分指令加快解析和处理速度

5。检测模拟器:检测模拟器特有文件,检测默认号码,检测设备ids,检测ImsI id ,检测硬件信息,检测运营商

6.对抗apk重打包:通过一个轮询去获取当前应用程序的签名,用获取到的签名和app的gradle文件中的签名信息比较,如果不同就说明被重新打包过,直接退出程序。

Android 加固应用相关推荐

  1. 移动安全大讲堂:整体解决方案之Android加固保护

    2019独角兽企业重金招聘Python工程师标准>>> 几维安全整体解决方案--Android加固保护几维安全通过对源码保护.反调试保护.内存保护.以及整包的完整性,保证攻击者无法通 ...

  2. Android加固调研

    简介               基本概念                      APK结构                      Dex结构                      APK ...

  3. android加固多渠道,Android 多渠道打包(使用友盟统计,结合360加固宝进行多渠道打包)...

    如有不正确的地方,望各路小哥哥.小姐姐指点,小女子在此谢过(*^__^*) 嘻嘻-- 一般app做推广的时候都需要渠道包,方便分析数据,查看渠道质量 一.先去友盟平台申请一个appkey a.   a ...

  4. 018 Android加固之实现dex加载器

    文章目录 Android APK加固-安全人员角度 关于类加载器 类加载器 类加载器的种类和个数 创建类加载实例 类加载器DexClassLoader和PathClassLoader 使用类加载器动态 ...

  5. 017 Android加固之APK混淆和保护方式

    文章目录 APK加固介绍 使用proguard对apk中的源码进行混淆 proguard原理 对APK反编译之后的smali进行混淆 代码乱序原理 乱序实例-Hello 对APK中的字符串进行加密 解 ...

  6. android 加固崩溃,360加固后,夜神模拟器安装崩溃

    文献参考 夜神模拟器CPU架构 夜神模拟器采用的架构.png 说明夜神采用的架构是X86的架构,X86支持也同时支持 armeabi armeabi-v7a,但是并不保证说100%不会发生崩溃的现象, ...

  7. 华为android加固,app安全加固学习记录

    加固保学习 加固前的原包请先用签名工具对该apk进行签名,再加固,并重新签名,保证加固前后都用签名工具签一次名. 注:加固后不签名则可能安装不了. Q:如何查看应用的签名证书? A:目录下找到名为ME ...

  8. android 加固作用,Android 应用安全 - 应用加固概念

    前言 应用加固技术本质上就是为源APK进行加密,然后套上一层壳,从而使应用程序多一层防护,避免很容易被反编译获取敏感信息,并且可以在壳APK中增加运行安全环境检测,进一步增强应用防护性 1.应用加壳原 ...

  9. Android 加固与监测,基于Android平台的恶意软件检测和软件加固技术研究

    摘要: 随着智能手机技术的发展,人们越来越多地把工作和生活的计算平台从传统的PC平台转移到移动平台.智能手机储存了大量的用户隐私,例如通信记录,位置信息等,因而成为攻击者的攻击目标.作为主流移动平台之 ...

  10. Android 加固包之后,vivo手机安装时出现解析包错误的情况

    原因:因为我们跑的 run apk都是 debug 版本,也就是测试版本,而 vivo就不支持这个测试apk. 解决办法: gradle.properties文件中添加 android.injecte ...

最新文章

  1. 中南大学计算机085403,What?这些个专业改考数一英一了!
  2. read configuration - shared object - read_comp_configuration_raw
  3. Android Studio安装插件提示was not installed: Cannot download的解决办法(仅限AS2.2版本以上)
  4. NOT IN、JOIN、IS NULL、NOT EXISTS效率对比
  5. 好文章系列(都是网上非常好的文章)
  6. Spring笔记③--spring的命名空间
  7. Altium Designer20原理图库制作
  8. 防止文件重复定义之方法
  9. java,如何处理大批量数据插入
  10. 一些常用的google scholar网站
  11. 【漫画】996对程序员的伤害,一看你就懂
  12. [UE4]暂停游戏、退出游戏、游戏输入模式
  13. Node.js .sh scripts Manager
  14. JAVA API中文在线帮助文档
  15. 洛谷 — 旅行商的背包(背包)
  16. 张雪峰:创业团队极速发展过程中的分分合合
  17. 实验一 Java编程基础
  18. iOS 15.3+ SwiftUI中List子项目禁止被删除但头部仍显示删除按钮的解决
  19. 【八】【vlc-android】vlc-vout视频流输出端源码分析
  20. 杭州中学2021高考成绩查询,2020年杭州各高中高考成绩排名及放榜最新消息

热门文章

  1. 问题 C: Fraction 分数类 I
  2. (实测可用)STM32CubeMX教程-STM32L431RCT6开发板研究(ADC)
  3. php 手机swf播放器,PHP实现使用优酷土豆视频地址获取swf播放器分享地址_PHP教程...
  4. 强化学习理论基础(MDP、值函数与贝尔曼公式以及表格式Agent)
  5. 怎样将计算机引入计算教学中,计算教学学习心得
  6. 计算机类专科学校排名,2017计算机专科学校排名一览表
  7. 2022留学生落户上海怎么办理社区公共户?
  8. Shift+鼠标右键没有:在此处打开命令窗口(W)
  9. java中关键字缺省(default)
  10. python3d_Power BI将超越python和D3,成为数据可视化的福音、定性数据分析的未来?...