360团队封神之作《安卓App逆向与安全防护学习手册》,首次开源分享,下载量破10W+!

Posted 网易在职程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了360团队封神之作《安卓App逆向与安全防护学习手册》,首次开源分享,下载量破10W+!相关的知识,希望对你有一定的参考价值。

随着移动互联网的兴起,“APP”成了99%的互联网企业主要运营的产品,知名的例如“支付宝”、“美团”、“滴滴”、“抖音”等。用户基数的不断变大,安全性也经历着巨大的挑战。

app越来越多,也离不开我们的生活,而安卓逆向也是近几年才兴起的一个行业,市场饱和度不高,发展前景广阔。

随着app的增加安全是一个很大问题,想要解决安全问题就得用到逆向知识,由此逆向岗位会随着app得的增加会越来越多。

就我自己从事安卓逆向这几年的经验来说,对没有编程基础的朋友如何学习安卓逆向最好制定以下学习路线:

一. 安卓逆向基础(建议1周)

  1. 学习安卓逆向第一步必须先把环境搭建好,这是你学习安卓逆向的开始,环境搭建好后表示正式迈入安卓逆向。在环境安装的工程中会遇到很多细节上的问题,针对这些坑可以去看看使用教程,或者看看网课老师的教程操作都可以。

  2. 第二步就是要了解我们要分析的是什么文件,很多0基础的都不知道安卓逆向分析的什么文件。我们要分析的是应用程序或者安装包(就是.apk文件),了解apk是怎么生成的以及如何安装到我们的手机里面,apk是怎么运行的,也是我们探讨的内容。

  3. 第三步如何逆向分析.apk文件,掌握apk反编译及回编译,完成这个操作使用的工具是apktool。

二. Java层逆向(建议3周)

  1. 掌握Java语法基础,达到能看懂Java代码。

  2. 了解smali语法,能看懂smali代码。

  3. 掌握逆向分析apk中常用的方法和技巧。

三. Native层逆向(建议4周)

  1. 了解安卓操作系统和四大组件。

  2. 了解NDK开发流程,自己编写案例练习。

  3. 掌握常用ARM汇编指令,达到能看懂ARM汇编指令。

  4. 掌握IDA工具的使用,熟练使用IDA进行各种操作。

四. APK保护策略(建议1周)

  1. 了解Java代码混淆、资源混淆。

  2. 掌握签名验证、文件校验、模拟器检测。

  3. 本地验证、网络验证。

  4. 案例练习。

五. 反调试与反-反调试(建议1周)

  1. 掌握常用反调试方法及过反调试技巧,比如关键文件检测、调试端口检测、进程名称检测、防附加、轮训检测TracerPid值、时间检测、信号检测等反调试。

  2. 掌握IDA过反调试思路。

  3. 案例练习。

六. HOOK框架(建议2周)

  1. 掌握HOOK插件开发。

  2. 掌握Xposed、Substrate、Fridad等框架。

  3. 案例练习。

七. 常见加密算法(建议2周)

  1. 掌握编码算法、消息摘要算法、对称加密算法(Java加密与解密的艺术)。

  2. 掌握非对称加密算法、数字签名算法。

八. 协议加解密分析(建议4周)

  1. 了解客户端与服务器如何进行交互的(OSI模型、TCP/IP模型)。

  2. 掌握常用的抓包工具及环境配置,HTTP协议与HTTPS安全协议,数字证书、SSL证书检测(计算机网络与通信、信息安全工程师)。

  3. 案例练习。

九. 文件结构(建议2周)

  1. 掌握DEX、ELF、XML、ARSC等文件结构。

  2. 自编写文件解析工具。

十. 系统源码分析(建议2周)

  1. 了解安卓操作系统启动流程、Zygote启动流程。

  2. 掌握Dalvik虚拟机、ART虚拟机、SO加载流程。

十一. 加固与脱壳(建议4周)

  1. 了解Dex文件整体加密、Dex代码抽取加密。

  2. 了解SO文件整体加密、函数加密、区段加密、加壳、混淆。

  3. 分析通用脱壳机的实现原理及应用场景。

  4. 了解主流加固特点及对应的脱壳技巧。

十二. 学习方法

  1. 看一遍教程后自己实战操作,养成做笔记的习惯。

  2. 注重基础,一定要把Java层和Native层搞懂。

  3. 学习中不要纠结细节,要学会抓大放小。

  4. 学完后自己画脑图,回顾学习的过程中那些不理解在花时间去看,此过程就是查漏补缺。

最后,如果大家对安卓逆向的学习感兴趣而又缺少学习资料,我最近正好薅到一份360团队成员分享在GitHub,标星7.5k的《安卓App逆向与安全防护学习手册》,通俗易懂,实例丰富,既有基础知识,也有操作技能,能够帮助读者快速入门进阶。

第一章 基础篇

  • android中锁屏密码加密算法分析

  • Android 中NDK开发

  • Android中开发与逆向常用命令总结

  • so文件格式解析

  • AndroidManifest.xml文件格式解析

  • resource . arsc文件格式解析

  • dex文件格式解析

第二章 防护篇

  • Android应用安全防护的基本策略

  • Android中常用权限分析

  • Android中的run-as命令

  • Android中的allowBackup属性

  • Android中的签名机制

  • Android应用加固原理

  • Android中的so加固原理

第三章 工具篇

  • Android逆向分析基础

  • 反编译神器apktool和Jadx

  • Hook神器Xposed

  • 脱壳神器ZjDroid

  • Native层Hook神器Cydia Substrate

第四章 操作篇

  • 静态方式逆向应用

  • 动态调试smali源码

  • IDA工具调试so源码

  • 逆向加固应用软件技术分析

  • 逆向应用经典案例分析

  • Android中常见漏洞分析

  • 文件加密病毒Wannacry样本分析

由于篇幅限制,展示了部分内容截图,需要这些文档资料的,可以点赞支持一下我,然后【点击我的GitHub】免费阅读下载。

以上是关于360团队封神之作《安卓App逆向与安全防护学习手册》,首次开源分享,下载量破10W+!的主要内容,如果未能解决你的问题,请参考以下文章

《APP逆向学习》课程介绍和什么是安卓app逆向?

Unity单机手游逆向破解思路(仅供学习参考,禁止用于非法行为)

经过360加固的apk怎么破解

字节跳动总监封神之作《Android11.0最新Framework解析》,1595页,限时免费下载高清PDF文档

一文了解安卓APP逆向分析与保护机制

移动安全技术_安卓逆向3-插入广告页