如何获取jar文件中的函数

发布网友 发布时间:2022-04-21 04:23

我来回答

5个回答

热心网友 时间:2023-10-14 19:01

jar 也是类装载器的一个可访问媒介,ClassLoader 提供了两个方法用于从装载的类路径中取得资源:

public URL getResource(String name);

public InputStream getResourceAsStream(String name);

  这里 name 是资源的类路径,它是相对与 “/” 根路径下的位置。 getResource 得到的是一个 URL 对象来定位资源,而getResourceAsStream 取得该资源输入流的引用保证程序可以从正确的位置抽取数据。

  真正使用的不是 ClassLoader 的这两个方法,而是 Class 的 getResource 和 getResourceAsStream 方法,因为 Class 对象可以从你的类得到(如 YourClass.class 或 YourClass.getClass() ),而 ClassLoader 则需要再调用一次YourClass.getClassLoader() 方法,但根据 JDK 文档的说法, Class 对象的这两个方法其实是 “ 委托 ” ( delegate )给装载它的 ClassLoader 来做的,所以只需要使用 Class 对象的这两个方法就可以了。

热心网友 时间:2023-10-14 19:01

这个已经写的挺明白了,你不可以看明白里面怎么实现的,class文件是已经编译过的。
这里public byte a;就是声明了一个变量。
//Field descriptor 就是类的属性,
//Medthod descriptor 就是你说的函数了。

public ev();是这个类的构造,没有其它的函数。
这里不是加密了,而是已经编译过,不能看到。
如果你是想做外挂之类的东西,这些内容看不看的都无所谓了。至于数据包,和这些类函数之类的都没有关系。你得知道数据包怎么组成的。追问谢谢指点!
我确定它向服务器发出的数据包是加密了的,因为在它前一个版本中,发出的数据包是可以直接捕捉到的,而现在都是一些乱码.
如你所说,它的加密算法经编译过看不到,那么有没有办法来调用它呢?

追答调用比较容易了,方法的定义你都能看到,直接调用就可以,不过你得写一段java代码,再把这个jar文件放在你的classpath下面。就可以了。

热心网友 时间:2023-10-14 19:02

你的截图就是说这个类的源代码没有载入进去 所以不能查看 只能使用

热心网友 时间:2023-10-14 19:02

用java反编译工具

热心网友 时间:2023-10-14 19:03

去网上找源码或者下载一个反编译的软件

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com