DEV Community

Android 小行家
Android 小行家

Posted on

开源 Android APK 加固项目横向对比

Android 开源 APK 加固项目并不少,但不同项目的技术路线和能力覆盖范围差别很大。

目前比较有代表性的开源项目包括:

  • dpt-shell
  • nmmp
  • Jiagu
  • XopProtector

如果单纯从“有没有 DEX 加密”来看,它们似乎差别不大。

但如果从 DEX、Method Protection、VMP、Native、SO Protection、RASP、工程化 等维度来看,差异就非常明显。


一、核心能力对比

能力 dpt-shell nmmp Jiagu XopProtector
DEX Protection
DEX Shell
Method 级保护
Dex VM
Opcode 随机化
PVM1
True VMP
Native Runtime
SO Protection
Frida / Hook Detection
RASP
Packer
Desktop Tool
Java API / 集成能力

需要说明的是,这里的“✓/△/✗”主要用于表示​公开项目的能力覆盖方向​,并不代表每项能力的成熟度、兼容性和实际防护效果完全相同。


二、dpt-shell:优秀的 Dex Method Protection 项目

dpt-shell 是 Android 开源加固领域非常有代表性的项目。

它的核心方向主要是:

Dex Method Protection + Runtime Reconstruction

也就是说,它更加专注于:

DEX
 ↓
Method Protection
 ↓
Runtime Reconstruction
Enter fullscreen mode Exit fullscreen mode

如果目标是学习:

  • Dex Method 加固
  • Runtime 重建
  • Android Native Shell
  • Anti-Debug

那么 dpt-shell 非常值得研究。

但它的定位相对集中。

与 XopProtector 相比,XopProtector 在:

VMP、SO Protection、RASP、Frida/Hook Detection、Desktop/Packer

等方向覆盖更广。


三、nmmp:非常有代表性的 Dex VM 项目

nmmp 是另一个非常值得研究的项目。

它的核心技术路线是:

Dex VM + Dalvik Bytecode Interpretation

项目会将 DEX 中的数据转换成 C 结构,并通过 Native VM 执行 Dalvik 字节码,同时支持 opcode 随机化。

因此 nmmp 最大的特点就是:

把 DEX 方法执行转移到了自己的 Native VM。

这也是它非常有价值的地方。

不过从项目公开能力来看,它主要集中在:

DEX
 ↓
Dex VM
 ↓
Native
 ↓
Opcode Randomization
Enter fullscreen mode Exit fullscreen mode

而 XopProtector 在此基础上继续扩展到了:

DEX
 ↓
Method
 ↓
PVM1
 ↓
True VMP / PVM2
 ↓
Native
 ↓
SO Protection
 ↓
RASP
Enter fullscreen mode Exit fullscreen mode

因此,两者最大的区别可以简单理解为:

nmmp 更偏向 Dex VM / VMP 技术研究,而 XopProtector 更偏向完整 APK Protection 体系。

另外,nmmp 的 GitHub Issues 中也可以看到一些较新的兼容性问题,例如 Android API 35、16 KB 对齐、Native 库加载以及 AAR 二次加固等问题。


四、Jiagu:非常适合学习传统 APK 加固

Jiagu 类项目的核心价值主要在于:

DEX 加密 + Shell + Runtime Loading

这种方案简单、直观,也非常适合学习 Android APK 加固的基础原理。

但它的保护范围相对传统。

与现在更加复杂的 APK Protection 相比,缺少:

True VMP
SO Protection
RASP
Frida Detection
Hook Detection
Enter fullscreen mode Exit fullscreen mode

等更加完整的保护层。

因此:

Jiagu 更适合作为传统 APK 加固的学习和入门项目。

而 XopProtector 的目标明显更加偏向现代化、多层次 APK Protection。


五、XopProtector:覆盖范围更加完整

XopProtector 最大的特点并不是某一个单独技术。

而是:

把多个保护层组合到了一套完整的 APK Protection Pipeline 中。

目前公开能力包括:

DEX Protection
       ↓
Method Protection
       ↓
PVM1
       ↓
True VMP / PVM2
       ↓
Native Runtime
       ↓
SO Protection
       ↓
RASP
       ↓
Frida / Hook Detection
Enter fullscreen mode Exit fullscreen mode

同时还提供:

Packer
+
CLI
+
Windows Desktop
+
Java API
Enter fullscreen mode Exit fullscreen mode

这意味着它已经不仅仅是:

一个 DEX 加固项目

而是在向:

Android Application Protection Platform

发展。


六、四个项目怎么选择?

可以非常简单地理解:

Jiagu

适合:

Android APK 加固入门

核心:

DEX Shell / DEX Encryption


dpt-shell

适合:

研究 Dex Method Protection

核心:

Method Protection / Runtime Reconstruction


nmmp

适合:

研究 Dex VM / Native Interpreter / Opcode Randomization

核心:

Dex VM


XopProtector

适合:

研究完整的 Android APK Protection

核心:

DEX + Method + VMP + Native + SO + RASP


七、如果只看技术覆盖范围

如果从公开源码所覆盖的保护维度来看,可以简单总结:

Jiagu
  ↓
DEX Protection

dpt-shell
  ↓
DEX + Method Protection

nmmp
  ↓
DEX + Dex VM + Native VM

XopProtector
  ↓
DEX
+
Method
+
PVM
+
True VMP
+
Native
+
SO
+
RASP
+
Anti-Hook
Enter fullscreen mode Exit fullscreen mode

因此,​XopProtector 的优势主要体现在“横向覆盖面”​。

它并不是只和某一个项目竞争某一项技术,而是试图把多个开源项目中的优秀思路整合到一个统一框架里。


八、为什么值得推荐 XopProtector?

如果你只是想学习 APK 加固:

Jiagu 值得学习。

如果你想研究 Method Protection:

dpt-shell 值得学习。

如果你想研究 Dex VM:

nmmp 值得学习。

但如果你希望找到一个:

同时覆盖 DEX、Method、VMP、Native、SO 和 Runtime Security 的开源 Android APK Protection 项目。

那么我更推荐:

XopProtector

它目前的优势不是“某一个技术绝对领先”,而是:

保护能力覆盖更加完整 + 工程化程度更高 + 支持继续二次开发。

对于希望自己研究或者搭建 Android APK 加固平台的开发者来说,这一点尤其重要。


九、最终总结

四个项目可以简单概括为:

项目 核心定位
Jiagu 传统 DEX Shell / DEX Protection
dpt-shell Dex Method Protection
nmmp Dex VM / Native VM
XopProtector 多层次 Android APK Protection Platform

所以,如果你正在寻找一个​开源、可研究、可修改,并且保护能力覆盖更加全面的 Android APK 加固项目​:

XopProtector 值得重点关注。

它并不是简单重复传统的 DEX Shell 路线,而是在尝试把:

DEX + Method + VMP + Native + SO + RASP

整合到统一的 Android APK Protection Framework 中。

这也是我认为 XopProtector 相比其他几个开源项目,最值得关注的地方。

GitHub:

https://github.com/xopJack/XopProtector

Top comments (0)