反射还是反编译?------有经验的人指点一下

xjtufans 2004-06-19 12:51:06
最近在做一个东西,目的是把从硬盘上读取的一个jar文件里面的每个class的属性
和方法得到。(这个jar文件是可以随便选择的,并没有加入到classpath里面去。)
开始是自己弄了一个classloader,然后通过把jar里面的每一个class文件的字节流得到,然后再生成对象,利用反射去得到属性和方法。
但是这对于那些引用了不在classpath里面的类的class文件是不能生成对象的。
因此行不通,好像还有一条路就是反编译来得到那些属性和方法,不知道有没有好的包可以进行反编译的工作,或者有什么别的方法。谢谢。
...全文
168 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjtufans 2004-06-21
  • 打赏
  • 举报
回复
一个即使不在classpath里面的类的class文件也是能生成对象的.
--------------------------------------------------------
如果这个class文件只import了已经加载到classpath中的包的话,是可以生成对象的。
如果它import了没有加载到classpath中的包的话,是不能生成的。
我试验过的,而且这个也不难理解。
我的意思是有没有什么好的对class进行反编译的方法。
shuneng 2004-06-19
  • 打赏
  • 举报
回复
gz
asdmonster 2004-06-19
  • 打赏
  • 举报
回复
不太明白楼主的意思,不过对于

但是这对于那些引用了不在classpath里面的类的class文件是不能生成对象的。

这句话表示疑惑:一个即使不在classpath里面的类的class文件也是能生成对象的,

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧