# AndroidSecNotes **Repository Path**: muyuchengf/AndroidSecNotes ## Basic Information - **Project Name**: AndroidSecNotes - **Description**: some learning notes about Android Security - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-08-23 - **Last Updated**: 2025-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AndroidSecNotes 此系列文章是本人关于学习 Android 安全时记录的一些笔记,部分原创,部分是对网上文章的理解整理。如果可以找到原始参考链接时则会在文末贴出(如 乌云很多链接已失效,或者记不起当时存档时的链接 ),或者在文章开头写上 by xx,如有侵权请联系我(dameng34 at 163.com)删除或加上reference,感谢在网上共享知识的师傅们,觉得内容不错的朋友请不要吝啬您的 **star**。 ### 捐赠链接 如果觉得以下内容对您有一定帮助,不妨小额赞助我,以鼓励我更好地完善内容列表。                                                            ## 文章目录 * Java语言基础 - [Java Basic](./Java语言基础/Java%20Basic.md) - [Java synthetic](./Java语言基础/Java%20synthetic.md) - [Java 反射机制到Android 的注解](./Java语言基础/Java%20反射机制到Android%20的注解.md) * Android开发基础 - [Android 源码编译](./Android开发基础/Android%20源码编译.md) - [Android开发基础知识](./Android开发基础/Android开发基础知识.md) - [AndroidManifest.xml](./Android开发基础/AndroidManifest.xml.md) - [Android 工程相关文件说明](./Android开发基础/Android%20工程相关文件说明.md) - [Android NDK 开发基础](./Android开发基础/Android%20NDK%20开发基础.md) - [Android 基于监听的事件处理机制](./Android开发基础/Android%20基于监听的事件处理机制.md) - [Android Handler消息传递机制](./Android开发基础/Android%20Handler消息传递机制.md) - [Android 基于回调的事件处理机制](./Android开发基础/Android%20基于回调的事件处理机制.md) * Android 安全概述 - [Android 安全概述](./Android安全概述/Android%20安全概述.md) - [Android Linux 内核层安全](./Android安全概述/Android%20Linux%20内核层安全.md) - [Android 本地用户空间层安全](./Android安全概述/Android%20本地用户空间层安全.md) - [Android 框架层安全](./Android安全概述/Android%20框架层安全.md) - [Android 应用层安全](./Android安全概述/Android%20应用层安全.md) - [Android 安全的其他话题](./Android安全概述/Android%20安全的其他话题.md) * Android 应用安全 - [Android Application Security](./Android应用安全/Android%20Application%20Security.md) - [OWASP Mobile top 10_2014](./Android应用安全/OWASP%20Mobile%20top%2010_2014.md) - [Android Activity Security](./Android应用安全/Android%20Activity%20Security.md) - [Android Broadcast Security](./Android应用安全/Android%20Broadcast%20Security.md) - [Android Content Provider Security](./Android应用安全/Android%20Content%20Provider%20Security.md) - [Android Logcat Security](./Android应用安全/Android%20Logcat%20Security.md) - [Android Service Security](./Android应用安全/Android%20Service%20Security.md) * Android逆向基础 - [apk 反编译基础](./Android逆向基础/apk%20反编译基础.md) - [smali 语法](./Android逆向基础/smali%20语法.md) - [ARM 寄存器简介](./Android逆向基础/ARM%20寄存器简介.md) - [ARM 汇编伪指令简介](./Android逆向基础/ARM%20汇编伪指令简介.md) - [ARM 汇编指令简介](./Android逆向基础/ARM%20汇编指令简介.md) * Android系统安全 - [Android 中堆unlink 利用学习](./Android系统安全/Android%20中堆unlink%20利用学习.md) * Android 调试工具 - [Smali Instrumentation](./Android%20调试工具/Smali%20Instrumentation.md) - [Ida Pro.md](./Android%20调试工具/Ida%20Pro.md) - [Android Hook(上)](./Android%20调试工具/Android%20Hook(上).md) - [Android Hook(下)](./Android%20调试工具/Android%20Hook(下).md) - [Android Hook 框架(Cydia篇)](./Android%20调试工具/Android%20Hook%20框架(Cydia篇).md) - [Android Hook 框架(XPosed篇)](./Android%20调试工具/Android%20Hook%20框架(XPosed篇).md) - [Android Java 层的anti-Hook 技巧](./Android%20调试工具/Android%20Java%20层的anti-Hook%20技巧.md) - [Android 应用程序通用脱壳方法研究](./Android%20调试工具/Android%20应用程序通用脱壳方法研究.md) - [Android ART 运行时(上)](./Android%20调试工具/Android%20ART%20运行时(上).md) - [Android ART 运行时(下)](./Android%20调试工具/Android%20ART%20运行时(下).md) - [初识JEBAPI](./Android%20调试工具/初识JEBAPI.md) - [常见app加固厂商脱壳方法](./Android%20调试工具/常见app加固厂商脱壳方法.md) - [Android Hook 技术防范漫谈](./Android%20调试工具/Android%20Hook%20技术防范漫谈.md) - [Android Native Hook 技术线路概述](./Android%20调试工具/Android%20Native%20Hook%20技术线路概述.md) - [Android Native Hook 工具实践](./Android%20调试工具/Android%20Native%20Hook%20工具实践.md) - [Android Inline Hook 的指令修复详解](./Android%20调试工具/Android%20Inline%20Hook%20的指令修复详解.md) ## 移动app自动化审计 ![](./pictures/appaudi.png) ## 内核漏洞挖掘 作者:Flanker Edward 链接:https://www.zhihu.com/question/45548548/answer/105379921 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 Andriod平台漏洞也有很多种,分为不同的方向,比如内核漏洞挖掘/利用,用户态高权限进程漏洞挖掘/利用,浏览器漏洞挖掘/沙箱逃逸和针对Andriod自身结构的漏洞(权限泄漏、敏感信息泄漏等)。 Android是一个基于Linux的复杂系统,想要熟练挖掘Android漏洞必须要了解Linux系统本身(内核,驱动),以及Android在Linux架构上添加的各式各样的组件和功能(binder,media/graphics subsystem,zygote, chromium/skia和最上层的四大金刚等)。从问题中的角度来讲,对于不熟悉Windows平台的初学者,不建议将大量时间投入到Windows平台上的漏洞利用学习上,因为两个平台的漏洞虽然核心思想相通,但具体到利用的细节不太相同。这些精力时间投入到Linux平台和Android自身的研究学习上对于Android漏洞挖掘这个目的意义更大。并且从实际的角度出发,业界目前需要更多的也是Mobile系统方向上的人才。 基础的漏洞类型例如栈溢出、堆溢出、未初始化、OOB、UAF、条件竞争/TOCTOU漏洞等必须要熟练理解掌握,这些在各种CTF平台上在Linux平台下都可以练习到。但是需要注意的一点是CTF还是和实际有些区别。例如CTF上的堆溢出题目绝大部分都基于dlmalloc,而Android早在5.0就切换到了jemalloc。现代软件中最常见的条件竞争漏洞因为比赛平台的限制也很少在CTF中看到(利用比较耗费资源,很难支撑比赛中的大规模并发需求)。 在了解了基础知识之后,可以进一步学习Andriod自身的体系结构。 * Binder方面可以学习调试几个经典漏洞([flankerhqd/mediacodecoob](https://github.com/flankerhqd/mediacodecoob), [blackhat](https://www.blackhat.com/asia-16/briefings.html#hey-your-parcel-looks-bad-fuzzing-and-exploiting-parcel-ization-vulnerabilities-in-android)) * 文件格式漏洞自然是经典的[stagefright](https://www.exploit-db.com/docs/39527.pdf) * [驱动/内核漏洞3636和1805](https://www.blackhat.com/docs/us-15/materials/us-15-Xu-Ah-Universal-Android-Rooting-Is-Back.pdf) * [Chrome V8相关](https://github.com/4B5F5F4B/Exploits) * 关注每个月的android security bulletin, 尝试从diff反推漏洞研究如何触发和利用 * 代码审计:经典书籍 The art of software security assessment * fuzzing 当然,只要掌握了计算机体系结构,熟悉了程序的运作方式,到达一定境界之后那么各种漏洞、各种系统之间的界限也就渐渐模糊了。我所知道的业界人士中有不少从Windows大牛跨界为Android大牛,例如Fireeye的王宇王老师,pjf大牛。毕竟触类旁通,运用之妙,存乎一心,与君共勉。