人工精选安卓逆向之NDK开发
这门课解决什么问题 安卓逆向分析中,越来越多的核心逻辑被搬到了 native 层,也就是编译后的 so 文件里。如果你只会看 Java 层的 smali 代码,遇到 so 里的关键算法往往只能卡住。这门课解决的就是这个断层:它不教你怎么用现成工具一键脱壳,而是带你从零写一个 NDK 工程,理解 Ja
会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
这门课解决什么问题
安卓逆向分析中,越来越多的核心逻辑被搬到了 native 层,也就是编译后的 so 文件里。如果你只会看 Java 层的 smali 代码,遇到 so 里的关键算法往往只能卡住。这门课解决的就是这个断层:它不教你怎么用现成工具一键脱壳,而是带你从零写一个 NDK 工程,理解 Java 和 native 怎么交互、参数怎么传、多线程怎么跑。换句话说,它是逆向的前置课,让你先会正向写,再谈反向读。适合做过 Java 开发、能看懂基本安卓结构,但没碰过 C++ 和 JNI 的人。如果你连 Java 都没写过,建议先补基础再来看。
建议先看哪几块,资料怎么配合练习
资料按顺序排得比较清楚,建议不要跳着看。先看前五节,重点放在 NDK 工程和纯 Java 工程的区别上,理解为什么有些逻辑非要下沉到 native 层。Log 输出那节看着简单,但实际写的时候经常因为没正确打印日志而调试半天,建议照着敲一遍。多线程那几节是难点,传参和取返回值涉及 JNI 的引用机制,光看视频容易晕,最好自己建一个工程,照着视频里的代码一行行写,跑通了再改参数试错。JNI_OnLoad 和 JavaVM 这两节偏底层机制,看完后试着在自己的 so 里写一个 OnLoad 函数,手动注册几个 native 方法,验证是否真的理解了调用链路。
学完能独立做什么
学完之后,你应该能独立建一个完整的 NDK 工程,把一段 C++ 逻辑封装成 Java 可调用的接口,处理好多线程下的参数传递和返回值。这意味着你具备了正向开发 native 层的能力,再看别人 so 文件里的 JNI 函数注册、线程逻辑时,至少能看懂结构,知道哪里是入口、哪里是业务逻辑、哪里是反调试。往远了说,这是继续学 IDA 分析 so 文件、做协议还原和算法提取的必要基础。如果学完连一个带多线程的 so 都写不出来,说明没练够,回头把视频里的代码再敲两遍。
你将学习到安卓逆向中的NDK开发
课程目录
* 01 安卓逆向之NDK开发/
* 01 01.NDK介绍.mp4 (91.39 MB), 18:10
* 02 02.NDK工程与纯Java工程的区别.mp4 (46.27 MB), 08:42
* 03 03.第一个NDK工程.mp4 (106.38 MB), 20:42
* 04 04.so中常用的Log输出.mp4 (47.85 MB), 09:19
* 05 05.NDK多线程初探.mp4 (53.90 MB), 09:32
* 06 06.NDK多线程传参.mp4 (46.37 MB), 08:28
* 07 07.NDK多线程取返回值.mp4 (46.16 MB), 08:33
* 08 08.JNI_OnLoad.mp4 (73.38 MB), 13:07
* 09 09.JavaVM.mp4 (65.09 MB), 12:12
* 10 10.JNIEnv.mp4 (60.06 MB), 11:23
* 11 11.so相关的几个概念.mp4 (34.17 MB), 06:38
* 12 12.so函数注册.mp4 (140.03 MB), 24:26
* 13 13.异常处理.mp4 (41.22 MB), 07:44
* 14 14.多个cpp文件编译成一个so.mp4 (31.34 MB), 05:43
* 15 15.编译多个so.mp4 (20.59 MB), 03:40
* 16 16.so路径的动态获取.mp4 (43.84 MB), 07:49
* 17 17.so之间相互调用.mp4 (91.55 MB), 16:23
* 18 18.通过jni创建Java对象1.mp4 (58.92 MB), 11:18
* 19 19.通过jni创建Java对象2.mp4 (33.07 MB), 06:07
* 20 20.通过jni访问Java属性.mp4 (79.75 MB), 14:30
* 21 21.通过jni访问Java数组1.mp4 (66.58 MB), 12:14
* 22 22.通过jni访问Java数组2.mp4 (65.85 MB), 11:36
* 23 23.通过jni访问Java方法1.mp4 (65.90 MB), 11:59
* 24 24.通过jni访问Java方法2.mp4 (37.47 MB), 07:07
* 25 25.通过jni访问Java方法3.mp4 (94.70 MB), 16:30
* 26 26.通过jni访问Java父类方法.mp4 (64.62 MB), 11:26
* 27 27.内存管理(局部引用).mp4 (88.58 MB), 15:53
* 28 28.内存管理(全局引用).mp4 (21.75 MB), 04:01
* 29 29.子线程中获取Java类1.mp4 (30.75 MB), 05:41
* 30 30.子线程中获取Java类2.mp4 (115.26 MB), 20:08
* 31 31.init与initarray.mp4 (85.28 MB), 15:03
* 32 32.onCreateNative化.mp4 (130.36 MB), 22:58





