
├── 第一章 Java语言基础知识入门
│ ├── 课时1:配置IDEA环境
│ ├── 课时2:什么是面向对象程序设计
│ ├── 课时3:什么是类和对象
│ ├── …
│ ├── 课时7: 基本数据类型
│ ├── …
│ ├── 课时10:表达式语句、块、分支语句
│ ├── …
│ ├── 课时12:类的定义格式
│ ├── …
│ ├── 课时15:类继承的定义
│ ├── …
│ ├── 课时19:接口的定义和实现
│ ├── …
│ ├── 课时21:数组初始化与使用
│ ├── …
│ ├── 课时23:公共异常
│ ├── …
│ ├── 课时25:输入数据流与输出数据流
│ ├── …
│ ├── 课时27:字符流和字节流
│ ├── …
│ ├── 课时29:线程的概念和结构
│ ├── …
│ ├── 课时31:实现Runnable接口
│ ├── …
│ ├── 课时33:线程间的通信
│ ├── 课时34:网络相关概念
│ ├── …
│ ├── 课时36:统一资源定位器概念与URL的创建
│ ├── …
│ └── 课时38:socket通信基本步骤
├── 第二章 Android开发基础
│ ├── 课时1:配置AndroidStudio环境
│ ├── 课时2:创建一个安卓程序
│ ├── 课时3:认识安卓四大组件
│ ├── 课时4:组件的生命周期
│ ├── 课时5:读写sdcard
│ ├── 课时6:认识Handler
│ ├── …
│ ├── 课时8:认识Binder
│ ├── 课时9:使用Binder
│ ├── 课时10:生成Android能动态加载的Jar包
│ ├── …
│ ├── 课时12:NDK编程
│ ├── …
│ └── 课时14:NDK中反射获取包名
├── 第三章 了解安卓Apk,Dex,so文件格式
│ ├── 课时1:apk基本结构
│ ├── 课时2:Dex基本结构
│ ├── 课时3:代码解析Dex文件
│ ├── 课时4:ELF基本结构
│ ├── 课时5:解析ELF头
│ ├── 课时6:解析程序头
│ ├── 课时7:解析节表信息
│ └── 课时8:解析符号表信息
├── 第四章 了解Smali,ARM
│ ├── 课时1:了解安卓虚拟机
│ ├── 课时2:Smali汇编-头文件定义与接口实现
│ ├── 课时3:Smali汇编-变量的定义
│ ├── 课时4:Smali汇编-方法的定义
│ ├── 课时5:Smali汇编-方法的调用
│ ├── 课时6:Smali汇编-对象的创建
│ ├── 课时7:Smali汇编-修改应用Smali代码实现破解功能
│ ├── 课时8:Arm汇编-常见ARM汇编指令
│ ├── 课时9:Arm汇编-常见ARM汇编指令2
│ ├── 课时10:Arm汇编-跳转和寻址
│ ├── 课时11:Arm汇编-内联汇编
│ ├── 课时12:修改应用ARM代码实现破解功能
│ └── …
├── 第五章 认识安卓系统源码AOSP
│ ├── 课时1:安卓系统源码基础知识讲解
│ ├── 课时2:安卓系统源码编译环境配置
│ ├── 课时3:安卓系统源码编译镜像刷机
│ └── 课时4:安卓系统源码修改注入so
├── 第六章 认识安卓常见安全风险
│ ├── 课时1:应用重打包风险讲解
│ ├── 课时2:敏感数据明文保存风险讲解
│ ├── 课时3:Activity组件越权风险讲解
│ ├── 课时4:WebView跨域访问风险讲解
│ ├── 课时5:ContentProvider目录遍历漏洞讲解
│ ├── 课时6:组件拒绝服务漏洞讲解
│ ├── 课时7:BroadcastReceiver导出漏洞讲解
│ ├── 课时8:安全审计工具Drozer安装与使用
│ └── 课时9:安全审计工具Mobsf安装与使用
└── 第七章 配置逆向工作环境
└── 课时1:配置真机root环境