今天看啥  ›  专栏  ›  看雪学苑

加壳脱壳知识点总结——类加载、方法执行流程以及脱壳实战

看雪学苑  · 公众号  · 互联网安全  · 2024-08-23 17:59

文章预览

一 前言 总结记录下ART环境下App启动流程中类加载流程以及相关知识,分析更深层次的脱壳点,加深对App加壳以及脱壳原理的理解。 环境:Android 8.0.0 二 相 关知识总结 1.类加载流程 这里直接从loadClass开始,DexClassloader,PathClassloader,InMemoryDexClassLoader这三个类的父类是BaseDexClassLoader,BaseDexClassLoader的父类是Classloader,在ClassLoader这个类里实现了loadClass。 public Class> loadClass(String name) throws ClassNotFoundException { return loadClass(name, false); } protected Class> loadClass(String name, boolean resolve) ,这里官方的源码注释解释的比较清楚了,首先确定这个类是否被加载过,没有的话会开始走双亲委派的流程调用parent.loadClass,如果父加载器都没有加载过,则自己调用findClass开始查找class并加载。 protected Class> loadClass(String name, boolean resolve) throws ClassNotFoundException { ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览