反编译看到的一段java代码有个地方看不懂
如图,GZIPInputStream.read()方法为什么可以只传一个参数,查阅资料不是还有两个int类型参数吗,然后我用frida把这个类hook调用告诉我必须传三个参数还要加overload我人傻了,也没看到源码有重载过啊 已用phython解决 GZIPInputStream 是 FilterInputStream 的子类也是 InputStream 的子类,有三个 read 重载方法:int read(),int read(byte[] b) 和 int read(byte[] b, int off, int len)。read() 方法从输入流中读取数据的下一个字节,并返回字节表示的值(0~255),如果已读到末尾,返回 -1 表示不能继续读取了。
read(byte[] b) 方法从输入流中读取若干字节并填充到缓冲区数组 b 中,返回读取的字节数,Java 会尽可能多地读取字节到缓冲区,但不会超过缓冲区的大小,如果没有可用的字节,表示已经到达流的末尾,返回 -1。
read(byte[] b, int off, int len) 方法从输入流中读取最多 len 个字节的数据到参数 b 这个字节数组里,第一个字节存储在元素 b 中,下一个存储在 b 中,依此类推。返回实际读取的字节数。
页:
[1]