我的类实例是由一个加密动态库导出函数获得的,现在想得到它未加密的原始字节数组,不知道如何实现, findClassBytes应该不行的,它是通过去打开已加密的类文件得到类字节数组的,希望有高手可以帮忙啊

解决方案 »

  1.   

    试下通过反射来取,不过如果是private的话也无能为力了
      

  2.   

    思路:
    它的类估计要用到ClassLoader,ClassLoader是由方法defineClass(此方法不止一个,这些方法都会传入一个类的字节数组)来将字节数组转换为Class的,拦截此方法就可以达到你的目地。使用aspectj定义ClassLoader类的代理,对jre/lib/rt.jar文件用aspectj重新编译一次,在代理类中拦截所有defineClass方法,将所有类生成一个class文件就OK了.