Android 加固应用
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 加固应用相关推荐
- 移动安全大讲堂:整体解决方案之Android加固保护
2019独角兽企业重金招聘Python工程师标准>>> 几维安全整体解决方案--Android加固保护几维安全通过对源码保护.反调试保护.内存保护.以及整包的完整性,保证攻击者无法通 ...
- Android加固调研
简介 基本概念 APK结构 Dex结构 APK ...
- android加固多渠道,Android 多渠道打包(使用友盟统计,结合360加固宝进行多渠道打包)...
如有不正确的地方,望各路小哥哥.小姐姐指点,小女子在此谢过(*^__^*) 嘻嘻-- 一般app做推广的时候都需要渠道包,方便分析数据,查看渠道质量 一.先去友盟平台申请一个appkey a. a ...
- 018 Android加固之实现dex加载器
文章目录 Android APK加固-安全人员角度 关于类加载器 类加载器 类加载器的种类和个数 创建类加载实例 类加载器DexClassLoader和PathClassLoader 使用类加载器动态 ...
- 017 Android加固之APK混淆和保护方式
文章目录 APK加固介绍 使用proguard对apk中的源码进行混淆 proguard原理 对APK反编译之后的smali进行混淆 代码乱序原理 乱序实例-Hello 对APK中的字符串进行加密 解 ...
- android 加固崩溃,360加固后,夜神模拟器安装崩溃
文献参考 夜神模拟器CPU架构 夜神模拟器采用的架构.png 说明夜神采用的架构是X86的架构,X86支持也同时支持 armeabi armeabi-v7a,但是并不保证说100%不会发生崩溃的现象, ...
- 华为android加固,app安全加固学习记录
加固保学习 加固前的原包请先用签名工具对该apk进行签名,再加固,并重新签名,保证加固前后都用签名工具签一次名. 注:加固后不签名则可能安装不了. Q:如何查看应用的签名证书? A:目录下找到名为ME ...
- android 加固作用,Android 应用安全 - 应用加固概念
前言 应用加固技术本质上就是为源APK进行加密,然后套上一层壳,从而使应用程序多一层防护,避免很容易被反编译获取敏感信息,并且可以在壳APK中增加运行安全环境检测,进一步增强应用防护性 1.应用加壳原 ...
- Android 加固与监测,基于Android平台的恶意软件检测和软件加固技术研究
摘要: 随着智能手机技术的发展,人们越来越多地把工作和生活的计算平台从传统的PC平台转移到移动平台.智能手机储存了大量的用户隐私,例如通信记录,位置信息等,因而成为攻击者的攻击目标.作为主流移动平台之 ...
- Android 加固包之后,vivo手机安装时出现解析包错误的情况
原因:因为我们跑的 run apk都是 debug 版本,也就是测试版本,而 vivo就不支持这个测试apk. 解决办法: gradle.properties文件中添加 android.injecte ...
最新文章
- 中南大学计算机085403,What?这些个专业改考数一英一了!
- read configuration - shared object - read_comp_configuration_raw
- Android Studio安装插件提示was not installed: Cannot download的解决办法(仅限AS2.2版本以上)
- NOT IN、JOIN、IS NULL、NOT EXISTS效率对比
- 好文章系列(都是网上非常好的文章)
- Spring笔记③--spring的命名空间
- Altium Designer20原理图库制作
- 防止文件重复定义之方法
- java,如何处理大批量数据插入
- 一些常用的google scholar网站
- 【漫画】996对程序员的伤害,一看你就懂
- [UE4]暂停游戏、退出游戏、游戏输入模式
- Node.js .sh scripts Manager
- JAVA API中文在线帮助文档
- 洛谷 — 旅行商的背包(背包)
- 张雪峰:创业团队极速发展过程中的分分合合
- 实验一 Java编程基础
- iOS 15.3+ SwiftUI中List子项目禁止被删除但头部仍显示删除按钮的解决
- 【八】【vlc-android】vlc-vout视频流输出端源码分析
- 杭州中学2021高考成绩查询,2020年杭州各高中高考成绩排名及放榜最新消息
热门文章
- 问题 C: Fraction 分数类 I
- (实测可用)STM32CubeMX教程-STM32L431RCT6开发板研究(ADC)
- php 手机swf播放器,PHP实现使用优酷土豆视频地址获取swf播放器分享地址_PHP教程...
- 强化学习理论基础(MDP、值函数与贝尔曼公式以及表格式Agent)
- 怎样将计算机引入计算教学中,计算教学学习心得
- 计算机类专科学校排名,2017计算机专科学校排名一览表
- 2022留学生落户上海怎么办理社区公共户?
- Shift+鼠标右键没有:在此处打开命令窗口(W)
- java中关键字缺省(default)
- python3d_Power BI将超越python和D3,成为数据可视化的福音、定性数据分析的未来?...