这篇文章主要介绍了常见android app加固厂商脱壳方法研究,需要的朋友可以参考下
目录简述(脱壳前学习的知识、壳的历史、脱壳方法)
第一代壳
第二代壳
第三代壳
第N代壳
简述Apk文件结构Dex文件结构壳史壳的识别Apk文件结构

Dex文件结构

壳史

第一代壳 Dex加密

Dex字符串加密资源加密对抗反编译反调试自定义DexClassLoader

第二代壳 Dex抽取与So加固

对抗第一代壳常见的脱壳法Dex Method代码抽取到外部(通常企业版)Dex动态加载So加密

第三代壳 Dex动态解密与So混淆

Dex Method代码动态解密So代码膨胀混淆对抗之前出现的所有脱壳法

第四代壳 arm vmp(未来)

vmp壳的识别

1.用加固厂商特征:

娜迦: libchaosvmp.so , libddog.solibfdog.so爱加密:libexec.so, libexecmain.so梆梆: libsecexe.so, libsecmain.so , libDexHelper.so360:libprotectClass.so, libjiagu.so通付盾:libegis.so网秦:libnqshield.so百度:libbaiduprotect.so

2.基于特征的识别代码

第一代壳内存Dump法文件监视法Hook法定制系统动态调试法内存Dump法内存中寻找dex.035或者dex.036/proc/xxx/maps中查找后,手动Dump

android-unpacker https://github.com/strazzere/android-unpacker

drizzleDumper https://github.com/DrizzleRisk/drizzleDumper 升级版的android-unpacker,read和lseek64代替pread,匹配dex代替匹配odex

IDA Pro + dumpDEXdumpDex https://github.com/CvvT/dumpDex

文件监视法Dex优化生成odexinotifywait-for-Android https://github.com/mkttanabe/inotifywait-for-Android监视文件变化

notifywait-for-Android https://github.com/mkttanabe/inotifywait-for-Android监视DexOpt输出

Hook法Hook dvmDexFileOpenPartial http://androidxref.com/4.4_r1/xref/dalvik/vm/DvmDex.cpp

定制系统修改安卓源码并刷机

DumpApk https://github.com/CvvT/DumpApk只针对部分壳

动态调试法IDA Pro

gdb gcore法

.gdbserver :1234 –attach pid .gdb (gdb) target remote :1234 (gdb) gcore

coredump文件中搜索“dex.035”

第二代壳内存重组法Hook法动态调试定制系统静态脱壳机内存重组法

Dex篇

ZjDroid http://bbs.pediy.com/showthread.php?t=190494

对付一切内存中完整的dex,包括壳与动态加载的jar

so篇

elfrebuild

构造soinfo,然后对其进行重建

Hook法

针对无代码抽取且Hook dvmDexFileOpenPartial失败

Hook dexFileParse

http://androidxref.com/4.4_r1/xref/dalvik/vm/DvmDex.cpp

https://github.com/WooyunDota/DumpDex

针对无代码抽取且Hook dexFileParse失败

Hook memcmp

http://androidxref.com/4.4_r1/xref/dalvik/vm/DvmDex.cpp

定制系统

修改安卓源码并刷机-针对无抽取代码

https://github.com/bunnyblue/DexExtractor

Hook dexfileParse

DexHunter-最强大的二代壳脱壳工具

https://github.com/zyq8709/DexHunter

DexHunter的工作流程:

DexHunter的工作原理:

绕过三进程反调试

http://bbs.pediy.com/showthread.php?p=1439627

修改系统源码后:

http://www.cnblogs.com/lvcha/p/3903669.html

ls /proc/345/task

./gdbserver :1234 --attach346 … (gdb) gcore

gcore防Dump解决方案:

http://bbs.pediy.com/showthread.php?t=198995

断点mmap调试,针对Hook dexFileParse无效

原理: dexopt优化时, dvmContinueOptimization()->mmap()

静态脱壳机

分析壳so逻辑并还原加密算法

http://www.cnblogs.com/2014asm/p/4924342.html

自定义linker脱so壳

https://github.com/devilogic/udog

main() -> dump_file()

第三代壳dex2oat法定制系统dex2oat法

ART模式下,dex2oat生成oat时,内存中的DEX是完整的

http://bbs.pediy.com/showthread.php?t=210532

定制系统

Hook Dalvik_dalvik_system_DexFile_defineClassNative

枚举所有DexClassDef,对所有的class,调用dvmDefineClass进行强制加载

第N代壳so + vmp动态调试 + 人肉还原

常见android app加固厂商脱壳方法研究相关推荐

  1. 常见app加固厂商脱壳方法研究

    转自:http://www.mottoin.com/89035.html 目录 简述(脱壳前学习的知识.壳的历史.脱壳方法) 第一代壳 第二代壳 第三代壳 第N代壳 简述 Apk文件结构 Dex文件结 ...

  2. android elf 加固_Android常见App加固厂商脱壳方法的整理

    目录 简述(脱壳前学习的知识.壳的历史.脱壳方法) 第一代壳 第二代壳 第三代壳 第N代壳 简述 Apk文件结构 Dex文件结构 壳史 壳的识别 Apk文件结构 Dex文件结构 壳史 第一代壳 Dex ...

  3. Android常见App加固厂商脱壳方法的整理

    目录 简述(脱壳前学习的知识.壳的历史.脱壳方法) 第一代壳 第二代壳 第三代壳 第N代壳 简述 Apk文件结构 Dex文件结构 壳史 壳的识别 Apk文件结构 Dex文件结构 壳史 第一代壳 Dex ...

  4. Android App加固原理分析

    Android App加固原理分析 对App进行加固,可以有效防止移动应用被破解.盗版.二次打包.注入.反编译等,保障程序的安全性.稳定性.对于金融类App,尤其重要. 对App dex进行加固的基本 ...

  5. android recovery分区内刷镜像,Android手机Recovery模式取证方法研究.pdf

    Android手机Recovery模式取证方法研究 2015 年第 9 期 信息通信 2015 (总第 153 期) INFORMATION & COMMUNICATIONS (Sum. No ...

  6. android设置主题的方法,Android_修改Android App样式风格的方法,android中可以自定义主题和风格 - phpStudy...

    修改Android App样式风格的方法 android中可以自定义主题和风格.风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等.可以在res/value ...

  7. APP加固和脱壳方案总结

    原文链接 APP安全合规 APP安全浅析 APP隐私合规 APP安全检测 APP安全检测解决方案浅析 CTF逆向指南 App逆向|ART下整体壳的解决方案(一) App逆向|ART下抽取壳的解决方案( ...

  8. Android APP一键退出的方法总结分析

    本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:yanzhikai_yjk@qq.com 本文demo地址:https://github.com/t ...

  9. Android App性能自动化评测方法

    前言 App运行在设备上的性能表现也是质量保障的一个重要环节.因此,当我们确保了基本功能的准确之后,还需要有一定的方法评测App在不同设备上的性能表现.本文将从性能指标,评测方法,自动化体系建设等三个 ...

最新文章

  1. Java 理论与实践: 修复 Java 内存模型,第 2 部分 (VOLATILE, FINA...
  2. JSONObject JSONArray各种用法以及js eval()函数与JSON.parse的区
  3. PowerToys,微软开源的超实用小工具合集
  4. fusioncharts同一页面显示2个仪表盘,且以java字符串作为xml数据
  5. Airflow 中文文档:初始化数据库后端
  6. JavaScript传参年月日格式日期自动运算问题解决
  7. Spring Cloud 架构 五大神兽的功能
  8. boost学习之BOOST_FOREACH
  9. jenkins html报告不显示样式
  10. 使用jQuery获取视口大小
  11. 自学TP5源码(一)
  12. 手机屏幕驱动板1080x1920分辨率HDMI红米note3 note4 note4x屏幕Fondar自制投影 光固化
  13. linux重装系统步骤 包含raid【主要针对服务器重装】
  14. ATT CK 阶段之 Initial Access --Drive-by Compromise
  15. Android appWidget——每日一句应用开发
  16. 工厂系列系统之 MES 系统8 生产计划-订单
  17. python 获取csv的列数_Python读取excel的两种方法
  18. 《大规模元搜索引擎技(1)》一第1章 绪言
  19. Review of Software Construction
  20. Hyper-V虚拟化

热门文章

  1. 计算机设备领用 调拨流程,设备、家具调拨办事流程(部门间调拨使用)
  2. 用python读取excel指定的列数据
  3. 急诊医生个人简历模板范文--带详细内容
  4. 2022-11 CSS:flex布局父子宽度问题-小程序scrollView-div横向滚动字体超出隐藏-居中
  5. ShaderWeaver使用教程-美化精灵动画
  6. 理工男一般不浪漫,一浪漫便值很多年
  7. nginx 配置防盗链
  8. VR设备有哪些?哪些VR设备适合开科技馆?哪些VR设备适合开儿童娱乐馆?
  9. 你眼中的燕麦企业云盘是什么样呢,帮助你做了什么工作呢?
  10. 车间忙的热火朝天,实则效益很低?