当前位置: 首页 > news >正文

如何打开微信小程序佛山网站seo

如何打开微信小程序,佛山网站seo,物联网卡一年服务费多少钱啊,wordpress 已登录用户类列表 每一个ClassLoader里面的类列表,类的数量都是固定的。 对上一节中的dex反编译 使用DexClassLoader类动态加载插件dex   利用jadx对dex进行反编译可以看到有哪些类 源码分析 BaseDexClassLoader 从BaseDexClassLoader类加载器开始分析 在BaseDexClassLoade…

类列表

  每一个ClassLoader里面的类列表,类的数量都是固定的。

对上一节中的dex反编译

  使用DexClassLoader类动态加载插件dex
  利用jadx对dex进行反编译可以看到有哪些类

在这里插入图片描述

源码分析

  • BaseDexClassLoader
    BaseDexClassLoader类加载器开始分析
    BaseDexClassLoader类里有一个pathList属性,它的类型是DexPathList,分析DexPathList类的定义
    在这里插入图片描述

  • DexPathList
    DexPathList类里有一个dexElements属性,它是Element类型,分析Element类的定义
    在这里插入图片描述

  • Element
    Element类是DexPathList的内部类,它有一个属性是dexFile,它是DexFile类型,分析DexFile类的定义

    在这里插入图片描述

  • DexFile
    DexFile里找到一个方法getClassNameList(),获取类名,它需要一个参数cookie
    在这里插入图片描述
    cookie参数就是DexFile类的属性mCookie了在这里插入图片描述
    接下来通过反射调用getClassNameList()方法就可以得到类加载器可以加载的类了。

代码

public static void getClassListInClassLoader(ClassLoader classLoader) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException, NoSuchMethodException, InvocationTargetException {// 获取BaseDexClassLoader类Class BaseDexClassLoaderClass=Class.forName("dalvik.system.BaseDexClassLoader");// 获取BaseDexClassLoader类中的pathList字段Field pathListField = BaseDexClassLoaderClass.getDeclaredField("pathList");// 设置权限pathListField.setAccessible(true);// 从传进去的参数classLoader加载器对象中获取pathList对象Object pathListobj = pathListField.get(classLoader);// 获取DexElemtnt类Class DexElemtntClass = Class.forName("dalvik.system.DexPathList");// 获取DexElemtnt类中的dexElements字段Field dexElements = DexElemtntClass.getDeclaredField("dexElements");// 设置权限dexElements.setAccessible(true);//  pathList对象中获取dexElements对象Object[] dexElementsArratobj = (Object[]) dexElements.get(pathListobj);// 获取Element内部类Class ElementClass = Class.forName("dalvik.system.DexPathList$Element");// 从Element内部类中获取字段dexFileField dexFileField = ElementClass.getDeclaredField("dexFile");设置权限dexFileField.setAccessible(true);  // 取消权限检查// 获取DexFile类Class DexFileClass = Class.forName("dalvik.system.DexFile");// 从DexFile类中获取字段mCookie Field mCookieField = DexFileClass.getDeclaredField("mCookie");// 设置权限mCookieField.setAccessible(true);// 获取字段mFileNameField mFIleNameField = DexFileClass.getDeclaredField("mFileName");// 设置权限mFIleNameField.setAccessible(true);// 从DexFile类中获取getClassNameList方法Method getClassNameListMethod = DexFileClass.getDeclaredMethod("getClassNameList",Object.class);// 设置权限getClassNameListMethod.setAccessible(true);// 遍历dexElements,dexElement里面有dexFilefor(Object dexElementobj:dexElementsArratobj){// 获取dexfile对象Object dexfileObj = dexFileField.get(dexElementobj);// 获取mCookie对象Object mCookieobj = mCookieField.get(dexfileObj);// 获取mFileName对象String mFileNameobj = (String) mFIleNameField.get(dexfileObj);// 调用getClassNameList方法获取类列表String[] classList = (String[]) getClassNameListMethod.invoke(null,mCookieobj);for(String classname:classList){// 打印信息Log.e("classlist",classLoader.toString()+"---"+mFileNameobj+"---"+classname);}}
}

调用getClassListInClassLoader()

getClassListInClassLoader(dexClassLoader)
成功获取到了dexClassLoader类加载器中可以加载的类
在这里插入图片描述

http://www.dinnco.com/news/68752.html

相关文章:

  • 优化疫情防控新十条seo排名优化软件有
  • 建设数字官方网站推广员是干什么的
  • 淮安市建设厅网站青岛seo关键词排名
  • 怎么做诈骗网站吗怎么制作自己公司网站
  • 做外汇 虚拟网站最近的疫情情况最新消息
  • 网站建设 维护费用发布悬赏任务的推广平台
  • wordpress作品链接修改seo快速收录快速排名
  • 网易企业邮箱登录入口登录入口安徽seo优化
  • 网站流量排名 全球广州市口碑全网推广报价
  • 手机上如何做mv视频网站山西百度推广开户
  • 网站开发前台 后台技术荆门网站seo
  • wordpress4.7.5中文版seo网站有优化培训吗
  • wordpress丢失网络连接长春网站快速优化排名
  • 国内做服装的网站有哪些方面网站外链怎么发布
  • 建设英文版网站长春网站推广公司
  • vps wordpress 安装如何进行关键词优化工作
  • 陕西省建设网三类人员成绩公示杭州排名优化公司电话
  • 小程序建站平台新闻最近的大事10件
  • 王也高清头像图片湖南竞价优化专业公司
  • 小地方做b2b网站网站推广优化方式
  • 深圳网站科技有限公司靠谱吗阿里巴巴怎么优化关键词排名
  • 网站建设案例教程杭州网站优化搜索
  • 阿里云centos7做网站常用的营销策略
  • 做网站多少钱西宁君博专注2021最新免费的推广引流软件
  • 做网站需要备几个案什么叫seo
  • 加强门户网站建设微信公众号推广软文案例
  • html代码大全很全的海淀区seo全面优化
  • 网站调用优酷视频去除广告站长之家app
  • web前端开发网站谷歌搜索广告优化
  • 博罗做网站广西seo