这门课解决什么工作场景

安卓逆向工程并非单纯的技术炫技,而是直接对应移动安全测试、应用合规审计、恶意软件分析及竞品功能复现等实际职场需求。对于转型或进阶的安全从业者,常见的痛点在于“看得懂代码但动不了手,知其然不知其所以然”。本课程的核心价值在于构建完整的逆向知识体系,从基础的 Android 应用结构拆解,深入到 Java 层逻辑分析与 Native 层代码追踪。它解决的关键问题是如何在没有源码的情况下,独立还原 App 的运行逻辑,定位安全漏洞,并对关键业务流程进行有效的 Hook 与修改。这是通过初级安全岗位面试、胜任月薪过万级别技术的必要门槛。

适合什么基础、学习路径建议

本课程适合具备一定 Java 或 Kotlin 编程基础,了解基本面向对象概念,但对 Android 系统底层机制及逆向调试工具链较为陌生的学员。入门门槛适中,关键在于耐心理清正向开发与逆向分析的联系。资料包中第二章的内容构成了最重要的基石,建议严格按照以下顺序攻克:首先深入理解“组件的生命周期”与“认识 Handler”,建立对 Android UI 线程及消息机制的认知;随后重点研习“认识 Binder”与“使用 Binder”,这是理解 Android 进程间通信(IPC)及服务调用的核心,也是后续分析系统级交互的基础;最后挑战“NDK 编程”及“NDK 中反射修改 Java 变量”,跨越 Java 层进入 Native 层的鸿沟。不要跳过基础模块直接看逆向技巧,否则在后续分析中将难以理解调用栈与内存布局。

学完能独立做什么、资料如何配合练习

扎实掌握上述模块后,你将具备独立拆解中小型商业 App 的能力。具体表现为:能够利用静态分析工具梳理 APK 的组件声明与权限配置;能够结合动态调试工具,实时跟踪 Java 方法的执行流程与参数变化;能够在特定场景下,利用反射或 Hook 技术拦截并修改关键业务逻辑,如鉴权验证、网络请求参数等;初步具备分析 Native 层 .so 文件的能力,理解 JNI 接口的调用关系。资料包中的代码示例(如各课时的 rar/zip 压缩包)是练习的唯一标准答案。请务必将代码下载后,在当前最新版 Android Studio 或兼容环境中编译运行,不要仅停留在阅读层面。对于 Binder 和 NDK 模块,建议亲手修改代码中的关键变量,观察应用行为的改变,并通过日志打印验证理解是否正确。只有经历了“运行—修改—观察—验证”的完整闭环,这些资料才能转化为你面试和工作中真正的核心竞争力。

课程目录

1.png (325.

82 KB,  ) 2024-7-7 16:

18 上传 2.png (11.

48 KB,  ) 2024-7-7 16:

18 上传 ├──第二章 Android开发基础 | ├──资料 | | ├──12课-NDK编程.rar 122.30kb | | ├──13课-NDK中反射修改java变量.rar 45.75kb | | ├──4课-组件的生命周期.rar 47.42kb | | ├──5课-读写sdcard.rar 37.77kb | | ├──6课-认识Handler.rar 39.68kb | | ├──8课-认识Binder.rar 42.64kb | | ├──9课-使用Binder.rar 78.21kb | | ├──code03.zip
 7.11kb | | ├──code10.rar 0.33kb | | ├──code11.rar 2.95kb | | ├──code14.rar 2.64kb | | ├── 第02章-Android开发基础-第01课-配置AndroidStudio环境.pptx 43.57kb | | ├── 第02章-Android开发基础-第02课-创建一个安卓程序.pptx 50.96kb | | ├── 第02章-Android开发基础-第03课-认识安卓四大组件.pptx 76.44kb | | └── 第02章-Android开发基础-第07课-认识Handler02.pptx 48.88kb | ├──8月考试-多种方式练习SDCard目录遍历.mp4
 8.36M | ├──8月考试讲解-多种方式练习SDCard目录遍历.mp4
 137.06M | ├──课时10:生成Android能动态加载的Jar包.mp4
 61.69M | ├──课时11:动态加载SDCard可执行文件.mp4
 51.91M | ├──课时12:NDK编程.mp4
 134.85M | ├──课时13:NDK中反射修改java变量.mp4
 170.71M | ├──课时14:NDK中反射获取包名.mp4
 140.69M | ├──课时1:配置AndroidStudio环境.mp4
 88.83M | ├──课时2:创建一个安卓程序.mp4
 91.26M | ├──课时3:认识安卓四大组件.mp4
 527.72M | ├──课时4:组件的生命周期.mp4
 73.34M | ├──课时5:读写sdcard.mp4
 166.50M | ├──课时6:认识Handler.mp4
 151.78M | ├──课时7:认识Handler02.mp4
 69.93M | ├──课时8:认识Binder.mp4
 189.25M | └──课时9:使用Binder.mp4
 176.88M ├──第六章 认识安卓常见安全风险 | ├──课时1:应用重打包风险讲解.mp4
 41.66M | ├──课时2-敏感数据明文保存风险讲解.rar 43.22kb | ├──课时2:敏感数据明文保存风险讲解.mp4
 51.36M | ├──课时3test62.rar 19.73M | ├──课时3:Activity组件越权风险讲解.mp4
 64.02M | ├──课时4:WebView跨域访问风险讲解.mp4
 99.79M | ├──课时4课件.rar 38.25M | ├──课时5code.rar 2.90kb | ├──课时5:ContentProvider目录遍历漏洞讲解.mp4
 72.10M | ├──课时6code.rar 1.42kb | ├──课时6:组件拒绝服务漏洞讲解.mp4
 35.99M | ├──课时7code.rar 43.22kb | ├──课时7:BroadcastReceiver导出漏洞讲解.mp4
 74.34M | ├──课时8:安全审计工具Drozer安装与使用.mp4
 258.29M | ├──课时9docker安装.txt 1.66kb | └──课时9:安全审计工具Mobsf安装与使用.mp4
 149.10M ├──第七章 配置逆向工作环境 | ├──课件.rar 48.89M | ├──课时1:配置真机root环境.mp4
 70.83M | └──课时1课件.txt 0.13kb ├──第三章 了解安卓Apk,Dex,so文件格式 | ├──资料 | | ├──课时1Android逆向助手_v2.2.rar 13.19M | | ├──课时2code.rar 1.98kb | | ├──课时3code.rar 24.60M | | ├──课时4code.rar 582.85kb | | └──课时5code.rar 23.62kb | ├──课时1:apk基本结构.mp4
 167.27M | ├──课时2:Dex基本结构.mp4
 152.77M | ├──课时3:代码解析Dex文件.mp4
 568.38M | ├──课时4:ELF基本结构.mp4
 96.31M | ├──课时5:解析ELF头.mp4
 58.04M | ├──课时6:解析程序头.mp4
 49.62M | ├──课时7:解析节表信息.mp4
 206.70M | └──课时8:解析符号表信息.mp4
 132.19M ├──第四章 了解Smali,ARM | ├──资料 | | ├──11月份作业.rar 4.78M | | ├──11月份作业讲解.rar 4.78M | | ├──code10.rar 28.91M | | ├──code11.rar 28.91M | | ├──code12.rar 28.95M | | ├──code2.rar 18.81M | | ├──code3.rar 2.50kb | | ├──code4.rar 2.50kb | | ├──code5.rar 1.09kb | | ├──code6.rar 1.09kb | | ├──code7.rar 71.52M | | ├──code8.rar 28.91M | | └──code9.rar 28.91M | ├──11月作业.mp4
 12.29M | ├──11月作业讲解.mp4
 111.60M | ├──课时10:Arm汇编-跳转和寻址.mp4
 74.36M | ├──课时11:Arm汇编-内联汇编.mp4
 84.79M | ├──课时12:修改应用ARM代码实现破解功能.mp4
 161.35M | ├──课时1:了解安卓虚拟机.mp4
 26.62M | ├──课时2:Smali汇编-头文件定义与接口实现.mp4
 45.77M | ├──课时3:Smali汇编-变量的定义.mp4
 37.75M | ├──课时4:Smali汇编-方法的定义.mp4
 38.84M | ├──课时5:Smali汇编-方法的调用.mp4
 85.32M | ├──课时6:Smali汇编-对象的创建.mp4
 73.53M | ├──课时7:Smali汇编-修改应用Smali代码实现破解功能.mp4
 96.79M | ├──课时8:Arm汇编-常见ARM汇编指令.mp4
 123.13M | └──课时9:Arm汇编-常见ARM汇编指令2.mp4
 47.80M ├──第五章 认识安卓系统源码AOSP | ├──看雪1W-刷自己编译好的安卓系统镜像.zip
 669.56M | ├──课时1:安卓系统源码基础知识讲解.mp4
 74.06M | ├──课时2:安卓系统源码编译环境配置.mp4
 118.20M | ├──课时2笔记.txt 1.92kb | ├──课时3:安卓系统源码编译镜像刷机.mp4
 48.73M | └──课时4:安卓系统源码修改注入so.mp4
 164.69M └──第一章 Java语言基础知识入门 | ├──24课-自定义异常.rar 36.54kb | ├──25课-输入数据流与输出数据流.rar 41.38kb | ├──26课-文件数据流.rar 46.35kb | ├──27课-字符流和字节流.rar 43.64kb | ├──28课-文件的处理.rar 102.43kb | ├──30课-继承Thread类.rar 39.33kb | ├──31课-实现Runnable接口.rar 41.76kb | ├──32课-线程的启动、调度与挂起.rar 39.79kb | ├──33课-线程间的通信.rar 40.34kb | ├──35课-使用InetAddress.rar 37.76kb | ├──36课-统一资源定位器概念与URL的创建.rar 38.92kb | ├──37课-异步请求.rar 2.24M | ├──38课-socket通信基本步骤.rar 39.83kb | ├──5月考试-单线程坦克大战.mp4
 111.68M | ├──5月考试讲解-单线程坦克大战编程.mp4
 178.82M | ├──5月作业_单线程坦克大战.docx
 13.74kb | ├──6课.rar 41.84kb | ├──code12.zip
 1.40kb | ├──code13.zip
 0.82kb | ├──code14.rar 0.60kb | ├──code15.rar 0.73kb | ├──code16.zip
 1.43kb | ├──code17.rar 0.80kb | ├──code18.rar 0.36kb | ├──code19.rar 0.77kb | ├──code20.rar 1.76kb | ├──K007-Java语言基础-第07课-基本数据类型.rar 41.80kb | ├──K009-Java语言基础-第09课-类型转换.pptx 52.57kb | ├──K010-Java语言基础-第10课-表达式语句、块、分支语句.pptx 51.12kb | ├──K011-Java语言基础-第11课-循环语句与break、continue.pptx 54.45kb | ├──K012-Java语言基础-第12课-类的定义格式.pptx 71.12kb | ├──K013-Java语言基础-第13课-对象的创建和初始化.pptx 46.86kb | ├──K014-Java语言基础-第14课-构造方法及其重载.pptx 53.01kb | ├──K015-Java语言基础-第15课-类继承的定义.pptx 62.76kb | ├──K016-Java语言基础-第16课-多态性与转换对象.pptx 48.08kb | ├──K017-Java语言基础-第17课-理解关键字.pptx 57.09kb | ├──K018-Java语言基础-第18课-方法重写规则与包装类型.pptx 52.32kb | ├──K019-Java语言基础-第19课-接口的定义和实现.pptx 68.77kb | ├──K020-Java语言基础-第20课-内部类与匿名类.pptx 56.55kb | ├──K021-Java语言基础-第21课-数组初始化与使用.rar 46.58kb | ├──K022-Java语言基础-第22课-容器和字符串.rar 39.91kb | ├──K023-Java语言基础-第23课-公共异常.rar 99.82kb | ├──K029-Java语言基础-第29课-线程的概念和结构.pptx 56.33kb | ├──K034-Java语言基础-第34课-网络相关概念.pptx 59.29kb | ├──K04-java语言基础-第4课-面向对象的重要性.pptx 43.37kb | ├──K05-java语言基础-第5课-空白注释及语句关键字标识符.pptx 168.55kb | ├──src21.zip
 2.23kb | ├──课时10code.zip
 0.57kb | ├──课时10:表达式语句、块、分支语句.mp4
 32.80M | ├──课时11: 循环语句与break、continue.mp4
 64.38M | ├──课时12:类的定义格式.mp4
 69.95M | ├──课时13:对象的创建和初始化.mp4
 29.47M | ├──课时14:构造方法及其重载.mp4
 43.21M | ├──课时15:类继承的定义.mp4
 62.61M | ├──课时16:多态性与转换对象.mp4
 40.19M | ├──课时17:理解关键字.mp4
 50.63M | ├──课时18:方法重写规则与包装类型.mp4
 42.19M | ├──课时19:接口的定义和实现.mp4
 24.67M | ├──课时1K02-Java语言基础-第一课-配置IDEA环境.pptx 59.68kb | ├──课时1:配置IDEA环境.mp4
 96.86M | ├──课时20:内部类与匿名类.mp4
 82.69M | ├──课时21:数组初始化与使用.mp4
 75.36M | ├──课时22:容器和字符串.mp4
 105.15M | ├──课时23:公共异常.mp4
 44.66M | ├──课时24:自定义异常.mp4
 36.64M | ├──课时25:输入数据流与输出数据流.mp4
 47.52M | ├──课时26:文件数据流.mp4
 82.11M | ├──课时27:字符流和字节流.mp4
 116.01M | ├──课时28:文件的处理.mp4
 74.76M | ├──课时29:线程的概念和结构.mp4
 40.12M | ├──课时2K03-Java语言基础-第二课-面向对象程序设计概念.pptx 46.38kb | ├──课时2:什么是面向对象程序设计.mp4
 18.10M | ├──课时30:继承Thread类.mp4
 61.42M | ├──课时31:实现Runnable接口.mp4
 25.57M | ├──课时32:线程的启动、调度与挂起.mp4
 52.64M | ├──课时33:线程间的通信.mp4
 79.80M | ├──课时34:网络相关概念.mp4
 15.39M | ├──课时35:使用InetAddress.mp4
 82.38M | ├──课时36:统一资源定位器概念与URL的创建.mp4
 119.60M | ├──课时37:异步请求.mp4
 126.59M | ├──课时38:socket通信基本步骤.mp4
 132.10M | ├──课时3:什么是类和对象.mp4
 121.22M | ├──课时3课件.rar 36.67kb | ├──课时4:面向对象的重要性.mp4
 44.91M | ├──课时5:空白注释及语句关键字标识符.mp4
 55.31M | ├──课时6:变量与常量.mp4
 48.79M | ├──课时7: 基本数据类型.mp4
 80.74M | ├──课时8:运算符.mp4
 72.45M | ├──课时8资料.rar 131.02kb | ├──课时9code.zip
 0.57kb | ├──课时9:类型转换.mp4
 41.27M | └──作业代码.txt 19.46kb