APP 加壳技术的分类与识别,动态加载与双亲委派模型

加壳技术概述 在 Android 逆向工程领域,"加壳"是指对 APK 中的 DEX 文件(Dalvik Executable,Android 的可执行字节码文件)进行加密、混淆或隐藏处理的技术。加壳的目的是保护原始代码不被静态分析和反编译,从而增加逆向分析的难度。理解加壳技术的分类和工作原理,是脱壳工作的前提条件。 一个典型的加壳流程如下:开发者将原始 APK 的 D...

发布于 Android 逆向

ART 和 Dalvik 下的 dex 加载流程及脱壳点

背景知识 Android 系统从 Dalvik 虚拟机演进到 ART(Android Runtime)虚拟机,DEX 文件的加载流程发生了显著变化。对于脱壳工作而言,理解两个运行时下的 DEX 加载全流程,是选择合适脱壳点的前提。Dalvik 运行时(Android 4.4 及之前)采用解释执行 + JIT 编译的方式,而 ART 运行时(Android 5.0 及之后)采用 AOT(Ah...

发布于 Android 逆向

Android Studio邻编开发,内联汇编,内联汇编syscall,CMakeLists.txt加载S文件

发布于 Android 逆向

C++程序逆向:类、构造析构函数、虚函数、虚表,继承、重载、覆盖、RTTI、异常

发布于 Android 逆向

C程序逆向:数据类型、运算符、分支与跳转、循环,函数、结构体、数组、位操作

发布于 Android 逆向

ART 中的 C++ 对象内存布局

发布于 Android 逆向

ART 中的函数 inline

发布于 Android 逆向

ART 定制方案比较和流程

发布于 Android 逆向

ART 定制跟踪 JNI 函数绑定

发布于 Android 逆向

C++11 概念和基础数据类型,类型推导和访问权限相关

发布于 Android 逆向