1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 02:57:40 +08:00
MiraiGo/internal/tlv/t400.go
源文雨 b1279cf08f
perf(writer): drop some lambda expressions (#224)
* perf(writer): drop some lambda expressions

* perf(writer): drop more lambda expressions

* fix: resolve conflicts

* perf(writer): drop more lambda expressions

* fix: modify function name

* perf(writer): drop more lambda expressions

* fix: some error
2021-12-23 21:04:15 +08:00

26 lines
596 B
Go

package tlv
import (
"time"
"github.com/Mrs4s/MiraiGo/binary"
)
func T400(g []byte, uin int64, guid, dpwd []byte, j2, j3 int64, randSeed []byte) []byte {
return binary.NewWriterF(func(w *binary.Writer) {
w.WriteUInt16(0x400)
pos := w.AllocUInt16Head()
w.EncryptAndWrite(g, binary.NewWriterF(func(w *binary.Writer) {
w.WriteUInt16(1) // version
w.WriteUInt64(uint64(uin))
w.Write(guid)
w.Write(dpwd)
w.WriteUInt32(uint32(j2))
w.WriteUInt32(uint32(j3))
w.WriteUInt32(uint32(time.Now().Unix()))
w.Write(randSeed)
}))
w.WriteUInt16HeadExcludeSelfAt(pos)
})
}