Skip to content

🔧 Native 层原理

ZjDroid 使用了两个预编译的 .so 动态库,它们是脱壳与 Lua 注入能力的底层基础。两者均位于 libs/armeabi/,无 Java 或 C 源码随仓库分发。

无源码说明

本章所有对 native 实现的分析,均基于 NativeFunction.java 中声明的 native 方法签名推断而来,不涉及任何编造的 C 实现细节。

📦 两个 so 文件

文件作用来源
libdvmnative.soZjDroid 自研,直接操作 Dalvik VM 内存,实现 DEX dumpZjDroid 自研
libluajava.so第三方 luajava Lua↔JNI 绑定Kepler Project(开源)

🗺️ 架构位置

📖 各章导航

章节内容
libdvmnative 原理ZjDroid 自研 so,DEX dump 与内存操作
libluajava 原理第三方 Lua JNI 绑定库
so 加载机制两个 so 如何被注入目标进程
Dalvik 内部结构DexFile / mCookie / header_item 内存模型

🔗 交叉阅读

基于 MIT 协议发布 · 本文档仅用于安全研究与教学目的