0825 done

This commit is contained in:
liujiahua123123 2019-08-17 22:09:22 +08:00
parent 145b856611
commit abe1f5ea8f
5 changed files with 12 additions and 7 deletions

View File

@ -107,7 +107,8 @@ fun Int.toByteArray(): ByteArray = byteArrayOf(//todo 检查这方法对不对,
(this.ushr(0) and 0xFF).toByte()
)
fun Int.toHexString(separator: String = " "): String = this.toByteArray().toHexString(separator);
@ExperimentalUnsignedTypes
fun Int.toHexString(separator: String = " "): String = this.toByteArray().toUByteArray().toHexString(separator);
private fun md5(str: String): ByteArray = MessageDigest.getInstance("MD5").digest(str.toByteArray())

View File

@ -38,7 +38,7 @@ class Server0825Packet(private val type: Type, inputStream: DataInputStream) : S
0X00 -> {
data.skip(4)
token = data.readNBytes(56)
data.skip(28)
data.skip(6)
loginTime = data.readInt()
loginIP = data.readIP()

View File

@ -1,6 +1,7 @@
package net.mamoe.mirai.network.packet.server
import net.mamoe.mirai.network.packet.Packet
import net.mamoe.mirai.network.packet.client.toHexString
import net.mamoe.mirai.util.toHexString
import java.io.DataInputStream
@ -49,9 +50,11 @@ fun DataInputStream.readUntil(byte: Byte): ByteArray {
@ExperimentalUnsignedTypes
fun DataInputStream.readIP(): String {
var buff = ""
for (i in 0..3) {//todo: check t// hat
buff += (readByte().toInt()).toString()
for (i in 0..3) {
val byte = readByte();
buff += (byte.toUByte().toString())
if(i !=3)buff+="."
System.out.println(byte.toHexString())
}
return buff
}

View File

@ -32,7 +32,8 @@ fun ByteArray.toHexString(separator: String = " "): String = Utils.toHexString(t
@ExperimentalUnsignedTypes
fun UByteArray.toHexString(separator: String = " "): String = Utils.toHexString(this, separator)
fun Byte.toHexString(): String = this.toString(16)
@ExperimentalUnsignedTypes
fun Byte.toHexString(): String = this.toUByte().toString(16)

View File

@ -1,4 +1,4 @@
import net.mamoe.mirai.network.packet.client.Client0825ResponsePacket
import net.mamoe.mirai.network.packet.client.toHexString
import net.mamoe.mirai.network.packet.server.Server0825Packet
import net.mamoe.mirai.util.TEACryptor
import net.mamoe.mirai.util.hexToBytes
@ -13,6 +13,6 @@ fun main(){
val packet = Server0825Packet(Server0825Packet.Type.TYPE_08_25_31_01,s)
packet.decode()
System.out.println(packet.token.toUByteArray().toHexString(" "))
System.out.println(packet.loginTime)
System.out.println(packet.loginTime.toHexString(" "))
System.out.println(packet.loginIP)
}