From 2350d04f0f8e7d890654e362eb1a772dfb5d48f7 Mon Sep 17 00:00:00 2001 From: Mrs4s Date: Tue, 2 Nov 2021 02:44:20 +0800 Subject: [PATCH] style: rename package protocol to internal --- client/builders.go | 366 ++++++++++----------- client/client.go | 8 +- client/face.go | 2 +- client/group_file.go | 2 +- client/group_info.go | 2 +- client/group_msg.go | 2 +- client/image.go | 2 +- client/multimsg.go | 2 +- client/network.go | 2 +- client/offline_file.go | 2 +- client/private_msg.go | 2 +- client/ptt.go | 2 +- client/qidian.go | 4 +- client/recall.go | 2 +- client/richmsg.go | 2 +- client/security.go | 2 +- client/sync.go | 3 +- client/system_msg.go | 2 +- client/translate.go | 3 +- client/web.go | 2 +- {protocol => internal}/packets/builders.go | 0 {protocol => internal}/packets/global.go | 0 {protocol => internal}/tlv/t1.go | 0 {protocol => internal}/tlv/t100.go | 0 {protocol => internal}/tlv/t104.go | 0 {protocol => internal}/tlv/t106.go | 0 {protocol => internal}/tlv/t107.go | 0 {protocol => internal}/tlv/t108.go | 0 {protocol => internal}/tlv/t109.go | 0 {protocol => internal}/tlv/t10a.go | 0 {protocol => internal}/tlv/t116.go | 0 {protocol => internal}/tlv/t124.go | 0 {protocol => internal}/tlv/t128.go | 0 {protocol => internal}/tlv/t141.go | 0 {protocol => internal}/tlv/t142.go | 0 {protocol => internal}/tlv/t143.go | 0 {protocol => internal}/tlv/t144.go | 0 {protocol => internal}/tlv/t145.go | 0 {protocol => internal}/tlv/t147.go | 0 {protocol => internal}/tlv/t154.go | 0 {protocol => internal}/tlv/t16.go | 0 {protocol => internal}/tlv/t166.go | 0 {protocol => internal}/tlv/t16a.go | 0 {protocol => internal}/tlv/t16e.go | 0 {protocol => internal}/tlv/t174.go | 0 {protocol => internal}/tlv/t177.go | 0 {protocol => internal}/tlv/t17a.go | 0 {protocol => internal}/tlv/t17c.go | 0 {protocol => internal}/tlv/t18.go | 0 {protocol => internal}/tlv/t187.go | 0 {protocol => internal}/tlv/t188.go | 0 {protocol => internal}/tlv/t191.go | 0 {protocol => internal}/tlv/t193.go | 0 {protocol => internal}/tlv/t194.go | 0 {protocol => internal}/tlv/t197.go | 0 {protocol => internal}/tlv/t198.go | 0 {protocol => internal}/tlv/t1b.go | 0 {protocol => internal}/tlv/t1d.go | 0 {protocol => internal}/tlv/t1f.go | 0 {protocol => internal}/tlv/t2.go | 0 {protocol => internal}/tlv/t202.go | 0 {protocol => internal}/tlv/t33.go | 0 {protocol => internal}/tlv/t35.go | 0 {protocol => internal}/tlv/t400.go | 0 {protocol => internal}/tlv/t401.go | 0 {protocol => internal}/tlv/t511.go | 0 {protocol => internal}/tlv/t516.go | 0 {protocol => internal}/tlv/t521.go | 0 {protocol => internal}/tlv/t525.go | 0 {protocol => internal}/tlv/t52d.go | 0 {protocol => internal}/tlv/t536.go | 0 {protocol => internal}/tlv/t8.go | 0 {protocol => internal}/tlv/tlv.go | 0 73 files changed, 206 insertions(+), 208 deletions(-) rename {protocol => internal}/packets/builders.go (100%) rename {protocol => internal}/packets/global.go (100%) rename {protocol => internal}/tlv/t1.go (100%) rename {protocol => internal}/tlv/t100.go (100%) rename {protocol => internal}/tlv/t104.go (100%) rename {protocol => internal}/tlv/t106.go (100%) rename {protocol => internal}/tlv/t107.go (100%) rename {protocol => internal}/tlv/t108.go (100%) rename {protocol => internal}/tlv/t109.go (100%) rename {protocol => internal}/tlv/t10a.go (100%) rename {protocol => internal}/tlv/t116.go (100%) rename {protocol => internal}/tlv/t124.go (100%) rename {protocol => internal}/tlv/t128.go (100%) rename {protocol => internal}/tlv/t141.go (100%) rename {protocol => internal}/tlv/t142.go (100%) rename {protocol => internal}/tlv/t143.go (100%) rename {protocol => internal}/tlv/t144.go (100%) rename {protocol => internal}/tlv/t145.go (100%) rename {protocol => internal}/tlv/t147.go (100%) rename {protocol => internal}/tlv/t154.go (100%) rename {protocol => internal}/tlv/t16.go (100%) rename {protocol => internal}/tlv/t166.go (100%) rename {protocol => internal}/tlv/t16a.go (100%) rename {protocol => internal}/tlv/t16e.go (100%) rename {protocol => internal}/tlv/t174.go (100%) rename {protocol => internal}/tlv/t177.go (100%) rename {protocol => internal}/tlv/t17a.go (100%) rename {protocol => internal}/tlv/t17c.go (100%) rename {protocol => internal}/tlv/t18.go (100%) rename {protocol => internal}/tlv/t187.go (100%) rename {protocol => internal}/tlv/t188.go (100%) rename {protocol => internal}/tlv/t191.go (100%) rename {protocol => internal}/tlv/t193.go (100%) rename {protocol => internal}/tlv/t194.go (100%) rename {protocol => internal}/tlv/t197.go (100%) rename {protocol => internal}/tlv/t198.go (100%) rename {protocol => internal}/tlv/t1b.go (100%) rename {protocol => internal}/tlv/t1d.go (100%) rename {protocol => internal}/tlv/t1f.go (100%) rename {protocol => internal}/tlv/t2.go (100%) rename {protocol => internal}/tlv/t202.go (100%) rename {protocol => internal}/tlv/t33.go (100%) rename {protocol => internal}/tlv/t35.go (100%) rename {protocol => internal}/tlv/t400.go (100%) rename {protocol => internal}/tlv/t401.go (100%) rename {protocol => internal}/tlv/t511.go (100%) rename {protocol => internal}/tlv/t516.go (100%) rename {protocol => internal}/tlv/t521.go (100%) rename {protocol => internal}/tlv/t525.go (100%) rename {protocol => internal}/tlv/t52d.go (100%) rename {protocol => internal}/tlv/t536.go (100%) rename {protocol => internal}/tlv/t8.go (100%) rename {protocol => internal}/tlv/tlv.go (100%) diff --git a/client/builders.go b/client/builders.go index af119382..c8c564ea 100644 --- a/client/builders.go +++ b/client/builders.go @@ -4,6 +4,9 @@ import ( "crypto/md5" "encoding/hex" "fmt" + "github.com/Mrs4s/MiraiGo/internal/crypto" + packets2 "github.com/Mrs4s/MiraiGo/internal/packets" + tlv2 "github.com/Mrs4s/MiraiGo/internal/tlv" "math/rand" "time" @@ -19,9 +22,6 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/qweb" "github.com/Mrs4s/MiraiGo/client/pb/structmsg" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/crypto" - "github.com/Mrs4s/MiraiGo/protocol/packets" - "github.com/Mrs4s/MiraiGo/protocol/tlv" ) var ( @@ -31,7 +31,7 @@ var ( func (c *QQClient) buildLoginPacket() (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x0810, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x0810, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(9) if c.AllowSlider { w.WriteUInt16(0x17) @@ -39,87 +39,87 @@ func (c *QQClient) buildLoginPacket() (uint16, []byte) { w.WriteUInt16(0x16) } - w.Write(tlv.T18(16, uint32(c.Uin))) - w.Write(tlv.T1(uint32(c.Uin), c.deviceInfo.IpAddress)) - w.Write(tlv.T106(uint32(c.Uin), 0, c.version.AppId, c.version.SSOVersion, c.PasswordMd5, true, c.deviceInfo.Guid, c.deviceInfo.TgtgtKey, 0)) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) - w.Write(tlv.T100(c.version.SSOVersion, c.version.SubAppId, c.version.MainSigMap)) - w.Write(tlv.T107(0)) - w.Write(tlv.T142(c.version.ApkId)) - w.Write(tlv.T144( + w.Write(tlv2.T18(16, uint32(c.Uin))) + w.Write(tlv2.T1(uint32(c.Uin), c.deviceInfo.IpAddress)) + w.Write(tlv2.T106(uint32(c.Uin), 0, c.version.AppId, c.version.SSOVersion, c.PasswordMd5, true, c.deviceInfo.Guid, c.deviceInfo.TgtgtKey, 0)) + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T100(c.version.SSOVersion, c.version.SubAppId, c.version.MainSigMap)) + w.Write(tlv2.T107(0)) + w.Write(tlv2.T142(c.version.ApkId)) + w.Write(tlv2.T144( []byte(c.deviceInfo.IMEI), c.deviceInfo.GenDeviceInfoData(), c.deviceInfo.OSType, c.deviceInfo.Version.Release, c.deviceInfo.SimInfo, c.deviceInfo.APN, - false, true, false, tlv.GuidFlag(), + false, true, false, tlv2.GuidFlag(), c.deviceInfo.Model, c.deviceInfo.Guid, c.deviceInfo.Brand, c.deviceInfo.TgtgtKey, )) - w.Write(tlv.T145(c.deviceInfo.Guid)) - w.Write(tlv.T147(16, []byte(c.version.SortVersionName), c.version.ApkSign)) + w.Write(tlv2.T145(c.deviceInfo.Guid)) + w.Write(tlv2.T147(16, []byte(c.version.SortVersionName), c.version.ApkSign)) /* if (miscBitMap & 0x80) != 0{ w.Write(tlv.T166(1)) } */ - w.Write(tlv.T154(seq)) - w.Write(tlv.T141(c.deviceInfo.SimInfo, c.deviceInfo.APN)) - w.Write(tlv.T8(2052)) - w.Write(tlv.T511([]string{ + w.Write(tlv2.T154(seq)) + w.Write(tlv2.T141(c.deviceInfo.SimInfo, c.deviceInfo.APN)) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T511([]string{ "tenpay.com", "openmobile.qq.com", "docs.qq.com", "connect.qq.com", "qzone.qq.com", "vip.qq.com", "gamecenter.qq.com", "qun.qq.com", "game.qq.com", "qqweb.qq.com", "office.qq.com", "ti.qq.com", "mail.qq.com", "mma.qq.com", })) - w.Write(tlv.T187(c.deviceInfo.MacAddress)) - w.Write(tlv.T188(c.deviceInfo.AndroidId)) + w.Write(tlv2.T187(c.deviceInfo.MacAddress)) + w.Write(tlv2.T188(c.deviceInfo.AndroidId)) if len(c.deviceInfo.IMSIMd5) != 0 { - w.Write(tlv.T194(c.deviceInfo.IMSIMd5)) + w.Write(tlv2.T194(c.deviceInfo.IMSIMd5)) } if c.AllowSlider { - w.Write(tlv.T191(0x82)) + w.Write(tlv2.T191(0x82)) } if len(c.deviceInfo.WifiBSSID) != 0 && len(c.deviceInfo.WifiSSID) != 0 { - w.Write(tlv.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID)) + w.Write(tlv2.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID)) } - w.Write(tlv.T177(c.version.BuildTime, c.version.SdkVersion)) - w.Write(tlv.T516()) - w.Write(tlv.T521(0)) - w.Write(tlv.T525(tlv.T536([]byte{0x01, 0x00}))) + w.Write(tlv2.T177(c.version.BuildTime, c.version.SdkVersion)) + w.Write(tlv2.T516()) + w.Write(tlv2.T521(0)) + w.Write(tlv2.T525(tlv2.T536([]byte{0x01, 0x00}))) }) - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildDeviceLockLoginPacket() (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x0810, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x0810, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(20) w.WriteUInt16(4) - w.Write(tlv.T8(2052)) - w.Write(tlv.T104(c.t104)) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) - w.Write(tlv.T401(c.g)) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T104(c.t104)) + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T401(c.g)) }) - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildQRCodeFetchRequestPacket() (uint16, []byte) { watch := genVersionInfo(AndroidWatch) seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(0, 0x812, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(0, 0x812, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteHex(`0001110000001000000072000000`) // trans header w.WriteUInt32(uint32(time.Now().Unix())) - w.Write(packets.BuildCode2DRequestPacket(0, 0, 0x31, func(w *binary.Writer) { + w.Write(packets2.BuildCode2DRequestPacket(0, 0, 0x31, func(w *binary.Writer) { w.WriteUInt16(0) // const w.WriteUInt32(16) // app id w.WriteUInt64(0) // const @@ -127,26 +127,26 @@ func (c *QQClient) buildQRCodeFetchRequestPacket() (uint16, []byte) { w.WriteBytesShort(EmptyBytes) w.WriteUInt16(6) - w.Write(tlv.T16(watch.SSOVersion, 16, watch.AppId, c.deviceInfo.Guid, []byte(watch.ApkId), []byte(watch.SortVersionName), watch.ApkSign)) - w.Write(tlv.T1B(0, 0, 3, 4, 72, 2, 2)) - w.Write(tlv.T1D(watch.MiscBitmap)) - w.Write(tlv.T1F(false, c.deviceInfo.OSType, []byte("7.1.2"), []byte("China Mobile GSM"), c.deviceInfo.APN, 2)) - w.Write(tlv.T33(c.deviceInfo.Guid)) - w.Write(tlv.T35(8)) + w.Write(tlv2.T16(watch.SSOVersion, 16, watch.AppId, c.deviceInfo.Guid, []byte(watch.ApkId), []byte(watch.SortVersionName), watch.ApkSign)) + w.Write(tlv2.T1B(0, 0, 3, 4, 72, 2, 2)) + w.Write(tlv2.T1D(watch.MiscBitmap)) + w.Write(tlv2.T1F(false, c.deviceInfo.OSType, []byte("7.1.2"), []byte("China Mobile GSM"), c.deviceInfo.APN, 2)) + w.Write(tlv2.T33(c.deviceInfo.Guid)) + w.Write(tlv2.T35(8)) })) }) - sso := packets.BuildSsoPacket(seq, watch.AppId, c.version.SubAppId, "wtlogin.trans_emp", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(0, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, watch.AppId, c.version.SubAppId, "wtlogin.trans_emp", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(0, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildQRCodeResultQueryRequestPacket(sig []byte) (uint16, []byte) { watch := genVersionInfo(AndroidWatch) seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(0, 0x812, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(0, 0x812, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteHex(`0000620000001000000072000000`) // trans header w.WriteUInt32(uint32(time.Now().Unix())) - w.Write(packets.BuildCode2DRequestPacket(1, 0, 0x12, func(w *binary.Writer) { + w.Write(packets2.BuildCode2DRequestPacket(1, 0, 0x12, func(w *binary.Writer) { w.WriteUInt16(5) // const w.WriteByte(1) // const w.WriteUInt32(8) // product type @@ -158,246 +158,246 @@ func (c *QQClient) buildQRCodeResultQueryRequestPacket(sig []byte) (uint16, []by w.WriteUInt16(0) // const })) }) - sso := packets.BuildSsoPacket(seq, watch.AppId, c.version.SubAppId, "wtlogin.trans_emp", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(0, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, watch.AppId, c.version.SubAppId, "wtlogin.trans_emp", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(0, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildQRCodeLoginPacket(t106, t16a, t318 []byte) (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x0810, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x0810, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(9) w.WriteUInt16(24) - w.Write(tlv.T18(16, uint32(c.Uin))) - w.Write(tlv.T1(uint32(c.Uin), c.deviceInfo.IpAddress)) + w.Write(tlv2.T18(16, uint32(c.Uin))) + w.Write(tlv2.T1(uint32(c.Uin), c.deviceInfo.IpAddress)) w.Write(binary.NewWriterF(func(w *binary.Writer) { w.WriteUInt16(0x106) w.WriteBytesShort(t106) })) // w.Write(tlv.T106(uint32(c.Uin), 0, c.version.AppId, c.version.SSOVersion, c.PasswordMd5, true, c.deviceInfo.Guid, c.deviceInfo.TgtgtKey, 0)) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) - w.Write(tlv.T100(c.version.SSOVersion, c.version.SubAppId, c.version.MainSigMap)) - w.Write(tlv.T107(0)) - w.Write(tlv.T142(c.version.ApkId)) - w.Write(tlv.T144( + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T100(c.version.SSOVersion, c.version.SubAppId, c.version.MainSigMap)) + w.Write(tlv2.T107(0)) + w.Write(tlv2.T142(c.version.ApkId)) + w.Write(tlv2.T144( []byte(c.deviceInfo.IMEI), c.deviceInfo.GenDeviceInfoData(), c.deviceInfo.OSType, c.deviceInfo.Version.Release, c.deviceInfo.SimInfo, c.deviceInfo.APN, - false, true, false, tlv.GuidFlag(), + false, true, false, tlv2.GuidFlag(), c.deviceInfo.Model, c.deviceInfo.Guid, c.deviceInfo.Brand, c.deviceInfo.TgtgtKey, )) - w.Write(tlv.T145(c.deviceInfo.Guid)) - w.Write(tlv.T147(16, []byte(c.version.SortVersionName), c.version.ApkSign)) + w.Write(tlv2.T145(c.deviceInfo.Guid)) + w.Write(tlv2.T147(16, []byte(c.version.SortVersionName), c.version.ApkSign)) w.Write(binary.NewWriterF(func(w *binary.Writer) { w.WriteUInt16(0x16A) w.WriteBytesShort(t16a) })) - w.Write(tlv.T154(seq)) - w.Write(tlv.T141(c.deviceInfo.SimInfo, c.deviceInfo.APN)) - w.Write(tlv.T8(2052)) - w.Write(tlv.T511([]string{ + w.Write(tlv2.T154(seq)) + w.Write(tlv2.T141(c.deviceInfo.SimInfo, c.deviceInfo.APN)) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T511([]string{ "tenpay.com", "openmobile.qq.com", "docs.qq.com", "connect.qq.com", "qzone.qq.com", "vip.qq.com", "gamecenter.qq.com", "qun.qq.com", "game.qq.com", "qqweb.qq.com", "office.qq.com", "ti.qq.com", "mail.qq.com", "mma.qq.com", })) - w.Write(tlv.T187(c.deviceInfo.MacAddress)) - w.Write(tlv.T188(c.deviceInfo.AndroidId)) + w.Write(tlv2.T187(c.deviceInfo.MacAddress)) + w.Write(tlv2.T188(c.deviceInfo.AndroidId)) if len(c.deviceInfo.IMSIMd5) != 0 { - w.Write(tlv.T194(c.deviceInfo.IMSIMd5)) + w.Write(tlv2.T194(c.deviceInfo.IMSIMd5)) } - w.Write(tlv.T191(0x00)) + w.Write(tlv2.T191(0x00)) if len(c.deviceInfo.WifiBSSID) != 0 && len(c.deviceInfo.WifiSSID) != 0 { - w.Write(tlv.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID)) + w.Write(tlv2.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID)) } - w.Write(tlv.T177(c.version.BuildTime, c.version.SdkVersion)) - w.Write(tlv.T516()) - w.Write(tlv.T521(8)) + w.Write(tlv2.T177(c.version.BuildTime, c.version.SdkVersion)) + w.Write(tlv2.T516()) + w.Write(tlv2.T521(8)) // w.Write(tlv.T525(tlv.T536([]byte{0x01, 0x00}))) w.Write(binary.NewWriterF(func(w *binary.Writer) { w.WriteUInt16(0x318) w.WriteBytesShort(t318) })) }) - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildCaptchaPacket(result string, sign []byte) (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x810, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x810, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(2) // sub command w.WriteUInt16(4) - w.Write(tlv.T2(result, sign)) - w.Write(tlv.T8(2052)) - w.Write(tlv.T104(c.t104)) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T2(result, sign)) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T104(c.t104)) + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) }) - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildSMSRequestPacket() (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x810, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x810, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(8) w.WriteUInt16(6) - w.Write(tlv.T8(2052)) - w.Write(tlv.T104(c.t104)) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) - w.Write(tlv.T174(c.t174)) - w.Write(tlv.T17A(9)) - w.Write(tlv.T197()) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T104(c.t104)) + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T174(c.t174)) + w.Write(tlv2.T17A(9)) + w.Write(tlv2.T197()) }) - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildSMSCodeSubmitPacket(code string) (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x810, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x810, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(7) w.WriteUInt16(7) - w.Write(tlv.T8(2052)) - w.Write(tlv.T104(c.t104)) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) - w.Write(tlv.T174(c.t174)) - w.Write(tlv.T17C(code)) - w.Write(tlv.T401(c.g)) - w.Write(tlv.T198()) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T104(c.t104)) + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T174(c.t174)) + w.Write(tlv2.T17C(code)) + w.Write(tlv2.T401(c.g)) + w.Write(tlv2.T198()) }) - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildTicketSubmitPacket(ticket string) (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x810, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x810, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(2) w.WriteUInt16(4) - w.Write(tlv.T193(ticket)) - w.Write(tlv.T8(2052)) - w.Write(tlv.T104(c.t104)) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T193(ticket)) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T104(c.t104)) + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) }) - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.login", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) return seq, packet } func (c *QQClient) buildRequestTgtgtNopicsigPacket() (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x0810, crypto.NewEncryptSession(c.sigInfo.t133), c.sigInfo.wtSessionTicketKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x0810, crypto.NewEncryptSession(c.sigInfo.t133), c.sigInfo.wtSessionTicketKey, func(w *binary.Writer) { w.WriteUInt16(15) w.WriteUInt16(24) - w.Write(tlv.T18(16, uint32(c.Uin))) - w.Write(tlv.T1(uint32(c.Uin), c.deviceInfo.IpAddress)) + w.Write(tlv2.T18(16, uint32(c.Uin))) + w.Write(tlv2.T1(uint32(c.Uin), c.deviceInfo.IpAddress)) w.Write(binary.NewWriterF(func(w *binary.Writer) { w.WriteUInt16(0x106) w.WriteBytesShort(c.sigInfo.encryptedA1) })) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) - w.Write(tlv.T100(c.version.SSOVersion, 2, c.version.MainSigMap)) - w.Write(tlv.T107(0)) - w.Write(tlv.T144( + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T100(c.version.SSOVersion, 2, c.version.MainSigMap)) + w.Write(tlv2.T107(0)) + w.Write(tlv2.T144( c.deviceInfo.AndroidId, c.deviceInfo.GenDeviceInfoData(), c.deviceInfo.OSType, c.deviceInfo.Version.Release, c.deviceInfo.SimInfo, c.deviceInfo.APN, - false, true, false, tlv.GuidFlag(), + false, true, false, tlv2.GuidFlag(), c.deviceInfo.Model, c.deviceInfo.Guid, c.deviceInfo.Brand, c.deviceInfo.TgtgtKey, )) - w.Write(tlv.T142(c.version.ApkId)) - w.Write(tlv.T145(c.deviceInfo.Guid)) - w.Write(tlv.T16A(c.sigInfo.srmToken)) - w.Write(tlv.T154(seq)) - w.Write(tlv.T141(c.deviceInfo.SimInfo, c.deviceInfo.APN)) - w.Write(tlv.T8(2052)) - w.Write(tlv.T511([]string{ + w.Write(tlv2.T142(c.version.ApkId)) + w.Write(tlv2.T145(c.deviceInfo.Guid)) + w.Write(tlv2.T16A(c.sigInfo.srmToken)) + w.Write(tlv2.T154(seq)) + w.Write(tlv2.T141(c.deviceInfo.SimInfo, c.deviceInfo.APN)) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T511([]string{ "tenpay.com", "openmobile.qq.com", "docs.qq.com", "connect.qq.com", "qzone.qq.com", "vip.qq.com", "qun.qq.com", "game.qq.com", "qqweb.qq.com", "office.qq.com", "ti.qq.com", "mail.qq.com", "qzone.com", "mma.qq.com", })) - w.Write(tlv.T147(16, []byte(c.version.SortVersionName), c.version.ApkSign)) - w.Write(tlv.T177(c.version.BuildTime, c.version.SdkVersion)) - w.Write(tlv.T400(c.g, c.Uin, c.deviceInfo.Guid, c.dpwd, 1, 16, c.randSeed)) - w.Write(tlv.T187(c.deviceInfo.MacAddress)) - w.Write(tlv.T188(c.deviceInfo.AndroidId)) - w.Write(tlv.T194(c.deviceInfo.IMSIMd5)) - w.Write(tlv.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID)) - w.Write(tlv.T516()) - w.Write(tlv.T521(0)) - w.Write(tlv.T525(tlv.T536([]byte{0x01, 0x00}))) + w.Write(tlv2.T147(16, []byte(c.version.SortVersionName), c.version.ApkSign)) + w.Write(tlv2.T177(c.version.BuildTime, c.version.SdkVersion)) + w.Write(tlv2.T400(c.g, c.Uin, c.deviceInfo.Guid, c.dpwd, 1, 16, c.randSeed)) + w.Write(tlv2.T187(c.deviceInfo.MacAddress)) + w.Write(tlv2.T188(c.deviceInfo.AndroidId)) + w.Write(tlv2.T194(c.deviceInfo.IMSIMd5)) + w.Write(tlv2.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID)) + w.Write(tlv2.T516()) + w.Write(tlv2.T521(0)) + w.Write(tlv2.T525(tlv2.T536([]byte{0x01, 0x00}))) }) - packet := packets.BuildUniPacket(c.Uin, seq, "wtlogin.exchange_emp", 2, c.OutGoingPacketSessionId, []byte{}, make([]byte, 16), req) + packet := packets2.BuildUniPacket(c.Uin, seq, "wtlogin.exchange_emp", 2, c.OutGoingPacketSessionId, []byte{}, make([]byte, 16), req) return seq, packet } func (c *QQClient) buildRequestChangeSigPacket() (uint16, []byte) { seq := c.nextSeq() - req := packets.BuildOicqRequestPacket(c.Uin, 0x0810, c.ecdh, c.RandomKey, func(w *binary.Writer) { + req := packets2.BuildOicqRequestPacket(c.Uin, 0x0810, c.ecdh, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(11) w.WriteUInt16(17) - w.Write(tlv.T100(c.version.SSOVersion, 100, c.version.MainSigMap)) - w.Write(tlv.T10A(c.sigInfo.tgt)) - w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap)) - w.Write(tlv.T108(c.deviceInfo.IMEI)) + w.Write(tlv2.T100(c.version.SSOVersion, 100, c.version.MainSigMap)) + w.Write(tlv2.T10A(c.sigInfo.tgt)) + w.Write(tlv2.T116(c.version.MiscBitmap, c.version.SubSigmap)) + w.Write(tlv2.T108(c.deviceInfo.IMEI)) h := md5.Sum(c.sigInfo.d2Key) - w.Write(tlv.T144( + w.Write(tlv2.T144( c.deviceInfo.AndroidId, c.deviceInfo.GenDeviceInfoData(), c.deviceInfo.OSType, c.deviceInfo.Version.Release, c.deviceInfo.SimInfo, c.deviceInfo.APN, - false, true, false, tlv.GuidFlag(), + false, true, false, tlv2.GuidFlag(), c.deviceInfo.Model, c.deviceInfo.Guid, c.deviceInfo.Brand, h[:], )) - w.Write(tlv.T143(c.sigInfo.d2)) - w.Write(tlv.T142(c.version.ApkId)) - w.Write(tlv.T154(seq)) - w.Write(tlv.T18(16, uint32(c.Uin))) - w.Write(tlv.T141(c.deviceInfo.SimInfo, c.deviceInfo.APN)) - w.Write(tlv.T8(2052)) - w.Write(tlv.T147(16, []byte(c.version.SortVersionName), c.version.ApkSign)) - w.Write(tlv.T177(c.version.BuildTime, c.version.SdkVersion)) - w.Write(tlv.T187(c.deviceInfo.MacAddress)) - w.Write(tlv.T188(c.deviceInfo.AndroidId)) - w.Write(tlv.T194(c.deviceInfo.IMSIMd5)) - w.Write(tlv.T511([]string{ + w.Write(tlv2.T143(c.sigInfo.d2)) + w.Write(tlv2.T142(c.version.ApkId)) + w.Write(tlv2.T154(seq)) + w.Write(tlv2.T18(16, uint32(c.Uin))) + w.Write(tlv2.T141(c.deviceInfo.SimInfo, c.deviceInfo.APN)) + w.Write(tlv2.T8(2052)) + w.Write(tlv2.T147(16, []byte(c.version.SortVersionName), c.version.ApkSign)) + w.Write(tlv2.T177(c.version.BuildTime, c.version.SdkVersion)) + w.Write(tlv2.T187(c.deviceInfo.MacAddress)) + w.Write(tlv2.T188(c.deviceInfo.AndroidId)) + w.Write(tlv2.T194(c.deviceInfo.IMSIMd5)) + w.Write(tlv2.T511([]string{ "tenpay.com", "openmobile.qq.com", "docs.qq.com", "connect.qq.com", "qzone.qq.com", "vip.qq.com", "qun.qq.com", "game.qq.com", "qqweb.qq.com", "office.qq.com", "ti.qq.com", "mail.qq.com", "qzone.com", "mma.qq.com", })) // w.Write(tlv.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID)) }) - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.exchange_emp", c.deviceInfo.IMEI, c.sigInfo.tgt, c.OutGoingPacketSessionId, req, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "wtlogin.exchange_emp", c.deviceInfo.IMEI, c.sigInfo.tgt, c.OutGoingPacketSessionId, req, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 2, make([]byte, 16), sso, []byte{}) return seq, packet } @@ -444,8 +444,8 @@ func (c *QQClient) buildClientRegisterPacket() (uint16, []byte) { Context: make(map[string]string), Status: make(map[string]string), } - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "StatSvc.register", c.deviceInfo.IMEI, c.sigInfo.tgt, c.OutGoingPacketSessionId, pkt.ToBytes(), c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 1, c.sigInfo.d2Key, sso, c.sigInfo.d2) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "StatSvc.register", c.deviceInfo.IMEI, c.sigInfo.tgt, c.OutGoingPacketSessionId, pkt.ToBytes(), c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 1, c.sigInfo.d2Key, sso, c.sigInfo.d2) return seq, packet } @@ -483,7 +483,7 @@ func (c *QQClient) buildStatusSetPacket(status, extStatus int32) (uint16, []byte Context: make(map[string]string), Status: make(map[string]string), } - packet := packets.BuildUniPacket(c.Uin, seq, "StatSvc.SetStatusFromClient", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "StatSvc.SetStatusFromClient", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -505,7 +505,7 @@ func (c *QQClient) buildConfPushRespPacket(t int32, pktSeq int64, jceBuf []byte) Context: make(map[string]string), Status: make(map[string]string), } - packet := packets.BuildUniPacket(c.Uin, seq, "ConfigPushSvc.PushResp", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "ConfigPushSvc.PushResp", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -563,7 +563,7 @@ func (c *QQClient) buildFriendGroupListRequestPacket(friendStartIndex, friendLis Context: make(map[string]string), Status: make(map[string]string), } - packet := packets.BuildUniPacket(c.Uin, seq, "friendlist.getFriendGroupList", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "friendlist.getFriendGroupList", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -648,7 +648,7 @@ func (c *QQClient) buildSummaryCardRequestPacket(target int64) (uint16, []byte) Context: make(map[string]string), Status: make(map[string]string), } - packet := packets.BuildUniPacket(c.Uin, seq, "SummaryCard.ReqSummaryCard", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "SummaryCard.ReqSummaryCard", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -673,7 +673,7 @@ func (c *QQClient) buildFriendDeletePacket(target int64) (uint16, []byte) { Context: make(map[string]string), Status: make(map[string]string), } - packet := packets.BuildUniPacket(c.Uin, seq, "friendlist.delFriend", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "friendlist.delFriend", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -704,7 +704,7 @@ func (c *QQClient) buildGroupListRequestPacket(vecCookie []byte) (uint16, []byte Context: make(map[string]string), Status: make(map[string]string), } - packet := packets.BuildUniPacket(c.Uin, seq, "friendlist.GetTroopListReqV2", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "friendlist.GetTroopListReqV2", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -732,7 +732,7 @@ func (c *QQClient) buildGroupMemberListRequestPacket(groupUin, groupCode, nextUi Context: make(map[string]string), Status: make(map[string]string), } - packet := packets.BuildUniPacket(c.Uin, seq, "friendlist.GetTroopMemberListReq", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "friendlist.GetTroopMemberListReq", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -747,7 +747,7 @@ func (c *QQClient) buildGroupMemberInfoRequestPacket(groupCode, uin int64) (uint RichCardNameVer: 1, } payload, _ := proto.Marshal(req) - packet := packets.BuildUniPacket(c.Uin, seq, "group_member_card.get_group_member_card_info", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "group_member_card.get_group_member_card_info", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -778,7 +778,7 @@ func (c *QQClient) buildGetMessageRequestPacket(flag msg.SyncFlag, msgTime int64 ServerBuf: []byte{}, } payload, _ := proto.Marshal(req) - packet := packets.BuildUniPacket(c.Uin, seq, "MessageSvc.PbGetMsg", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "MessageSvc.PbGetMsg", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, payload) return seq, packet } @@ -787,7 +787,7 @@ func (c *QQClient) buildDeleteMessageRequestPacket(msg []*pb.MessageItem) (uint1 seq := c.nextSeq() req := &pb.DeleteMessageRequest{Items: msg} payload, _ := proto.Marshal(req) - packet := packets.BuildUniPacket(c.Uin, seq, "MessageSvc.PbDeleteMsg", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "MessageSvc.PbDeleteMsg", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -815,7 +815,7 @@ func (c *QQClient) buildDeleteOnlinePushPacket(uin int64, svrip int32, pushToken Context: make(map[string]string), Status: make(map[string]string), } - return packets.BuildUniPacket(c.Uin, seq, "OnlinePush.RespPush", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) + return packets2.BuildUniPacket(c.Uin, seq, "OnlinePush.RespPush", 1, c.OutGoingPacketSessionId, []byte{}, c.sigInfo.d2Key, pkt.ToBytes()) } // LongConn.OffPicUp @@ -843,7 +843,7 @@ func (c *QQClient) buildOffPicUpPacket(target int64, md5 []byte, size int32) (ui }, } payload, _ := proto.Marshal(req) - packet := packets.BuildUniPacket(c.Uin, seq, "LongConn.OffPicUp", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "LongConn.OffPicUp", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -864,7 +864,7 @@ func (c *QQClient) buildSystemMsgNewFriendPacket() (uint16, []byte) { FriendMsgTypeFlag: 1, } payload, _ := proto.Marshal(req) - packet := packets.BuildUniPacket(c.Uin, seq, "ProfileService.Pb.ReqSystemMsgNew.Friend", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "ProfileService.Pb.ReqSystemMsgNew.Friend", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -891,7 +891,7 @@ func (c *QQClient) buildEditGroupTagPacket(groupCode, memberUin int64, newTag st Context: map[string]string{}, Status: map[string]string{}, } - packet := packets.BuildUniPacket(c.Uin, seq, "friendlist.ModifyGroupCardReq", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "friendlist.ModifyGroupCardReq", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -911,7 +911,7 @@ func (c *QQClient) buildEditSpecialTitlePacket(groupCode, memberUin int64, newTi } b, _ := proto.Marshal(body) payload := c.packOIDBPackage(2300, 2, b) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0x8fc_2", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0x8fc_2", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -920,7 +920,7 @@ func (c *QQClient) buildGroupOperationPacket(body *oidb.D89AReqBody) (uint16, [] seq := c.nextSeq() b, _ := proto.Marshal(body) payload := c.packOIDBPackage(2202, 0, b) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0x89a_0", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0x89a_0", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -981,7 +981,7 @@ func (c *QQClient) buildGroupKickPacket(groupCode, memberUin int64, kickMsg stri } b, _ := proto.Marshal(body) payload := c.packOIDBPackage(2208, 0, b) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0x8a0_0", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0x8a0_0", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -995,7 +995,7 @@ func (c *QQClient) buildGroupMutePacket(groupCode, memberUin int64, time uint32) w.WriteUInt32(uint32(memberUin)) w.WriteUInt32(time) })) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0x570_8", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0x570_8", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -1008,7 +1008,7 @@ func (c *QQClient) buildGroupPokePacket(groupCode, target int64) (uint16, []byte } b, _ := proto.Marshal(body) payload := c.packOIDBPackage(3795, 1, b) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0xed3", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0xed3", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -1021,7 +1021,7 @@ func (c *QQClient) buildFriendPokePacket(target int64) (uint16, []byte) { } b, _ := proto.Marshal(body) payload := c.packOIDBPackage(3795, 1, b) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0xed3", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0xed3", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -1038,7 +1038,7 @@ func (c *QQClient) buildGroupAdminSetPacket(groupCode, member int64, flag bool) return 0 }()) })) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0x55c_1", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0x55c_1", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -1062,7 +1062,7 @@ func (c *QQClient) buildQuitGroupPacket(groupCode int64) (uint16, []byte) { Context: map[string]string{}, Status: map[string]string{}, } - packet := packets.BuildUniPacket(c.Uin, seq, "ProfileService.GroupMngReq", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, pkt.ToBytes()) + packet := packets2.BuildUniPacket(c.Uin, seq, "ProfileService.GroupMngReq", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, pkt.ToBytes()) return seq, packet } @@ -1082,7 +1082,7 @@ func (c *QQClient) buildAppInfoRequestPacket(id string) (uint16, []byte) { TraceId: fmt.Sprintf("%v_%v_%v", c.Uin, time.Now().Format("0102150405"), rand.Int63()), } payload, _ := proto.Marshal(body) - packet := packets.BuildUniPacket(c.Uin, seq, "LightAppSvc.mini_app_info.GetAppInfoById", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "LightAppSvc.mini_app_info.GetAppInfoById", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -1093,7 +1093,7 @@ func (c *QQClient) buildWordSegmentationPacket(data []byte) (uint16, []byte) { Content: data, Qua: []byte("and_537065262_8.4.5"), }) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0xd79", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0xd79", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } @@ -1111,6 +1111,6 @@ func (c *QQClient) sendGroupGiftPacket(groupCode, uin uint64, productID message. Sig: []byte(c.getSKey()), }, }) - packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0xdad_1", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets2.BuildUniPacket(c.Uin, seq, "OidbSvc.0xdad_1", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } diff --git a/client/client.go b/client/client.go index ef53dcf4..f9aa63a5 100644 --- a/client/client.go +++ b/client/client.go @@ -3,6 +3,8 @@ package client import ( "crypto/md5" "fmt" + "github.com/Mrs4s/MiraiGo/internal/crypto" + packets2 "github.com/Mrs4s/MiraiGo/internal/packets" "math" "math/rand" "net" @@ -17,8 +19,6 @@ import ( "github.com/Mrs4s/MiraiGo/binary/jce" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/crypto" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" ) @@ -877,8 +877,8 @@ func (c *QQClient) doHeartbeat() { for c.Online { time.Sleep(time.Second * 30) seq := c.nextSeq() - sso := packets.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "Heartbeat.Alive", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, []byte{}, c.ksid) - packet := packets.BuildLoginPacket(c.Uin, 0, []byte{}, sso, []byte{}) + sso := packets2.BuildSsoPacket(seq, c.version.AppId, c.version.SubAppId, "Heartbeat.Alive", c.deviceInfo.IMEI, []byte{}, c.OutGoingPacketSessionId, []byte{}, c.ksid) + packet := packets2.BuildLoginPacket(c.Uin, 0, []byte{}, sso, []byte{}) _, err := c.sendAndWait(seq, packet) if errors.Is(err, utils.ErrConnectionClosed) { continue diff --git a/client/face.go b/client/face.go index c11ad023..aac68874 100644 --- a/client/face.go +++ b/client/face.go @@ -2,12 +2,12 @@ package client import ( "fmt" + "github.com/Mrs4s/MiraiGo/internal/packets" "github.com/pkg/errors" "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/faceroam" - "github.com/Mrs4s/MiraiGo/protocol/packets" ) type CustomFace struct { diff --git a/client/group_file.go b/client/group_file.go index 5a7d7ea0..9a906cf0 100644 --- a/client/group_file.go +++ b/client/group_file.go @@ -4,6 +4,7 @@ import ( "crypto/sha1" "encoding/hex" "fmt" + "github.com/Mrs4s/MiraiGo/internal/packets" "io" "math/rand" "os" @@ -15,7 +16,6 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/exciting" "github.com/Mrs4s/MiraiGo/client/pb/oidb" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/group_info.go b/client/group_info.go index 130b3822..3945fbac 100644 --- a/client/group_info.go +++ b/client/group_info.go @@ -3,6 +3,7 @@ package client import ( "encoding/json" "fmt" + "github.com/Mrs4s/MiraiGo/internal/packets" "math/rand" "net/url" "sort" @@ -16,7 +17,6 @@ import ( "github.com/Mrs4s/MiraiGo/binary/jce" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/client/pb/profilecard" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/group_msg.go b/client/group_msg.go index cb10a7e1..deb81038 100644 --- a/client/group_msg.go +++ b/client/group_msg.go @@ -5,6 +5,7 @@ import ( "encoding/base64" "encoding/json" "fmt" + "github.com/Mrs4s/MiraiGo/internal/packets" "math" "math/rand" "strconv" @@ -16,7 +17,6 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/multimsg" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" "github.com/pkg/errors" diff --git a/client/image.go b/client/image.go index eb0408f8..095c29fd 100644 --- a/client/image.go +++ b/client/image.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/hex" "fmt" + "github.com/Mrs4s/MiraiGo/internal/packets" "image" _ "image/gif" "io" @@ -21,7 +22,6 @@ import ( "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/cmd0x388" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/multimsg.go b/client/multimsg.go index 58483f93..4beb1db5 100644 --- a/client/multimsg.go +++ b/client/multimsg.go @@ -2,12 +2,12 @@ package client import ( "fmt" + "github.com/Mrs4s/MiraiGo/internal/packets" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/longmsg" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/multimsg" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" "github.com/pkg/errors" "google.golang.org/protobuf/proto" diff --git a/client/network.go b/client/network.go index 4020c8fd..a6819e2f 100644 --- a/client/network.go +++ b/client/network.go @@ -1,6 +1,7 @@ package client import ( + "github.com/Mrs4s/MiraiGo/internal/packets" "net" "runtime/debug" "strings" @@ -11,7 +12,6 @@ import ( "github.com/pkg/errors" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/offline_file.go b/client/offline_file.go index 8cc4a5ef..8478b2b7 100644 --- a/client/offline_file.go +++ b/client/offline_file.go @@ -1,11 +1,11 @@ package client import ( + "github.com/Mrs4s/MiraiGo/internal/packets" "github.com/pkg/errors" "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/cmd0x346" - "github.com/Mrs4s/MiraiGo/protocol/packets" ) func init() { diff --git a/client/private_msg.go b/client/private_msg.go index aa199448..ed099fda 100644 --- a/client/private_msg.go +++ b/client/private_msg.go @@ -1,6 +1,7 @@ package client import ( + "github.com/Mrs4s/MiraiGo/internal/packets" "math/rand" "sync/atomic" "time" @@ -10,7 +11,6 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/packets" ) func (c *QQClient) SendPrivateMessage(target int64, m *message.SendingMessage) *message.PrivateMessage { diff --git a/client/ptt.go b/client/ptt.go index 82c0c957..05095e6d 100644 --- a/client/ptt.go +++ b/client/ptt.go @@ -3,6 +3,7 @@ package client import ( "crypto/md5" "encoding/hex" + "github.com/Mrs4s/MiraiGo/internal/packets" "io" "os" @@ -16,7 +17,6 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/pttcenter" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/qidian.go b/client/qidian.go index c5d8183e..13896921 100644 --- a/client/qidian.go +++ b/client/qidian.go @@ -4,6 +4,7 @@ package client import ( "bytes" "fmt" + "github.com/Mrs4s/MiraiGo/internal/packets" "io" "net/http" @@ -14,7 +15,6 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/cmd0x3f6" "github.com/Mrs4s/MiraiGo/client/pb/cmd0x6ff" "github.com/Mrs4s/MiraiGo/client/pb/msg" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" ) @@ -144,7 +144,7 @@ func (c *QQClient) bigDataRequest(subCmd uint32, req proto.Message) ([]byte, err if err != nil { return nil, errors.Wrap(err, "request error") } - defer rsp.Body.Close() + defer func() { _ = rsp.Body.Close() }() rspBody, _ := io.ReadAll(rsp.Body) r := binary.NewReader(rspBody) r.ReadByte() diff --git a/client/recall.go b/client/recall.go index f9f3639a..4bae7ae1 100644 --- a/client/recall.go +++ b/client/recall.go @@ -1,12 +1,12 @@ package client import ( + "github.com/Mrs4s/MiraiGo/internal/packets" "github.com/pkg/errors" "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/packets" ) // 撤回相关处理逻辑 diff --git a/client/richmsg.go b/client/richmsg.go index 29665dac..69a56a18 100644 --- a/client/richmsg.go +++ b/client/richmsg.go @@ -1,12 +1,12 @@ package client import ( + "github.com/Mrs4s/MiraiGo/internal/packets" "math/rand" "time" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" "github.com/pkg/errors" "google.golang.org/protobuf/proto" diff --git a/client/security.go b/client/security.go index 72421b61..b3600f97 100644 --- a/client/security.go +++ b/client/security.go @@ -2,7 +2,7 @@ package client import ( "github.com/Mrs4s/MiraiGo/client/pb/oidb" - "github.com/Mrs4s/MiraiGo/protocol/packets" + "github.com/Mrs4s/MiraiGo/internal/packets" "github.com/pkg/errors" "google.golang.org/protobuf/proto" ) diff --git a/client/sync.go b/client/sync.go index e3456805..1c13c6be 100644 --- a/client/sync.go +++ b/client/sync.go @@ -1,6 +1,7 @@ package client import ( + "github.com/Mrs4s/MiraiGo/internal/packets" "math/rand" "sync" "sync/atomic" @@ -13,8 +14,6 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/message" - "github.com/Mrs4s/MiraiGo/protocol/packets" - "github.com/pkg/errors" ) diff --git a/client/system_msg.go b/client/system_msg.go index b8fcf986..b87ed18e 100644 --- a/client/system_msg.go +++ b/client/system_msg.go @@ -1,10 +1,10 @@ package client import ( + "github.com/Mrs4s/MiraiGo/internal/packets" "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/structmsg" - "github.com/Mrs4s/MiraiGo/protocol/packets" ) type ( diff --git a/client/translate.go b/client/translate.go index fcfe33ac..b0df9380 100644 --- a/client/translate.go +++ b/client/translate.go @@ -1,11 +1,10 @@ package client import ( + "github.com/Mrs4s/MiraiGo/internal/packets" "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/oidb" - "github.com/Mrs4s/MiraiGo/protocol/packets" - "github.com/pkg/errors" ) diff --git a/client/web.go b/client/web.go index 9236dbd3..d44c02e2 100644 --- a/client/web.go +++ b/client/web.go @@ -4,10 +4,10 @@ import ( "encoding/base64" "encoding/json" "fmt" + "github.com/Mrs4s/MiraiGo/internal/packets" "strings" "github.com/Mrs4s/MiraiGo/client/pb/web" - "github.com/Mrs4s/MiraiGo/protocol/packets" "github.com/Mrs4s/MiraiGo/utils" "github.com/pkg/errors" "google.golang.org/protobuf/proto" diff --git a/protocol/packets/builders.go b/internal/packets/builders.go similarity index 100% rename from protocol/packets/builders.go rename to internal/packets/builders.go diff --git a/protocol/packets/global.go b/internal/packets/global.go similarity index 100% rename from protocol/packets/global.go rename to internal/packets/global.go diff --git a/protocol/tlv/t1.go b/internal/tlv/t1.go similarity index 100% rename from protocol/tlv/t1.go rename to internal/tlv/t1.go diff --git a/protocol/tlv/t100.go b/internal/tlv/t100.go similarity index 100% rename from protocol/tlv/t100.go rename to internal/tlv/t100.go diff --git a/protocol/tlv/t104.go b/internal/tlv/t104.go similarity index 100% rename from protocol/tlv/t104.go rename to internal/tlv/t104.go diff --git a/protocol/tlv/t106.go b/internal/tlv/t106.go similarity index 100% rename from protocol/tlv/t106.go rename to internal/tlv/t106.go diff --git a/protocol/tlv/t107.go b/internal/tlv/t107.go similarity index 100% rename from protocol/tlv/t107.go rename to internal/tlv/t107.go diff --git a/protocol/tlv/t108.go b/internal/tlv/t108.go similarity index 100% rename from protocol/tlv/t108.go rename to internal/tlv/t108.go diff --git a/protocol/tlv/t109.go b/internal/tlv/t109.go similarity index 100% rename from protocol/tlv/t109.go rename to internal/tlv/t109.go diff --git a/protocol/tlv/t10a.go b/internal/tlv/t10a.go similarity index 100% rename from protocol/tlv/t10a.go rename to internal/tlv/t10a.go diff --git a/protocol/tlv/t116.go b/internal/tlv/t116.go similarity index 100% rename from protocol/tlv/t116.go rename to internal/tlv/t116.go diff --git a/protocol/tlv/t124.go b/internal/tlv/t124.go similarity index 100% rename from protocol/tlv/t124.go rename to internal/tlv/t124.go diff --git a/protocol/tlv/t128.go b/internal/tlv/t128.go similarity index 100% rename from protocol/tlv/t128.go rename to internal/tlv/t128.go diff --git a/protocol/tlv/t141.go b/internal/tlv/t141.go similarity index 100% rename from protocol/tlv/t141.go rename to internal/tlv/t141.go diff --git a/protocol/tlv/t142.go b/internal/tlv/t142.go similarity index 100% rename from protocol/tlv/t142.go rename to internal/tlv/t142.go diff --git a/protocol/tlv/t143.go b/internal/tlv/t143.go similarity index 100% rename from protocol/tlv/t143.go rename to internal/tlv/t143.go diff --git a/protocol/tlv/t144.go b/internal/tlv/t144.go similarity index 100% rename from protocol/tlv/t144.go rename to internal/tlv/t144.go diff --git a/protocol/tlv/t145.go b/internal/tlv/t145.go similarity index 100% rename from protocol/tlv/t145.go rename to internal/tlv/t145.go diff --git a/protocol/tlv/t147.go b/internal/tlv/t147.go similarity index 100% rename from protocol/tlv/t147.go rename to internal/tlv/t147.go diff --git a/protocol/tlv/t154.go b/internal/tlv/t154.go similarity index 100% rename from protocol/tlv/t154.go rename to internal/tlv/t154.go diff --git a/protocol/tlv/t16.go b/internal/tlv/t16.go similarity index 100% rename from protocol/tlv/t16.go rename to internal/tlv/t16.go diff --git a/protocol/tlv/t166.go b/internal/tlv/t166.go similarity index 100% rename from protocol/tlv/t166.go rename to internal/tlv/t166.go diff --git a/protocol/tlv/t16a.go b/internal/tlv/t16a.go similarity index 100% rename from protocol/tlv/t16a.go rename to internal/tlv/t16a.go diff --git a/protocol/tlv/t16e.go b/internal/tlv/t16e.go similarity index 100% rename from protocol/tlv/t16e.go rename to internal/tlv/t16e.go diff --git a/protocol/tlv/t174.go b/internal/tlv/t174.go similarity index 100% rename from protocol/tlv/t174.go rename to internal/tlv/t174.go diff --git a/protocol/tlv/t177.go b/internal/tlv/t177.go similarity index 100% rename from protocol/tlv/t177.go rename to internal/tlv/t177.go diff --git a/protocol/tlv/t17a.go b/internal/tlv/t17a.go similarity index 100% rename from protocol/tlv/t17a.go rename to internal/tlv/t17a.go diff --git a/protocol/tlv/t17c.go b/internal/tlv/t17c.go similarity index 100% rename from protocol/tlv/t17c.go rename to internal/tlv/t17c.go diff --git a/protocol/tlv/t18.go b/internal/tlv/t18.go similarity index 100% rename from protocol/tlv/t18.go rename to internal/tlv/t18.go diff --git a/protocol/tlv/t187.go b/internal/tlv/t187.go similarity index 100% rename from protocol/tlv/t187.go rename to internal/tlv/t187.go diff --git a/protocol/tlv/t188.go b/internal/tlv/t188.go similarity index 100% rename from protocol/tlv/t188.go rename to internal/tlv/t188.go diff --git a/protocol/tlv/t191.go b/internal/tlv/t191.go similarity index 100% rename from protocol/tlv/t191.go rename to internal/tlv/t191.go diff --git a/protocol/tlv/t193.go b/internal/tlv/t193.go similarity index 100% rename from protocol/tlv/t193.go rename to internal/tlv/t193.go diff --git a/protocol/tlv/t194.go b/internal/tlv/t194.go similarity index 100% rename from protocol/tlv/t194.go rename to internal/tlv/t194.go diff --git a/protocol/tlv/t197.go b/internal/tlv/t197.go similarity index 100% rename from protocol/tlv/t197.go rename to internal/tlv/t197.go diff --git a/protocol/tlv/t198.go b/internal/tlv/t198.go similarity index 100% rename from protocol/tlv/t198.go rename to internal/tlv/t198.go diff --git a/protocol/tlv/t1b.go b/internal/tlv/t1b.go similarity index 100% rename from protocol/tlv/t1b.go rename to internal/tlv/t1b.go diff --git a/protocol/tlv/t1d.go b/internal/tlv/t1d.go similarity index 100% rename from protocol/tlv/t1d.go rename to internal/tlv/t1d.go diff --git a/protocol/tlv/t1f.go b/internal/tlv/t1f.go similarity index 100% rename from protocol/tlv/t1f.go rename to internal/tlv/t1f.go diff --git a/protocol/tlv/t2.go b/internal/tlv/t2.go similarity index 100% rename from protocol/tlv/t2.go rename to internal/tlv/t2.go diff --git a/protocol/tlv/t202.go b/internal/tlv/t202.go similarity index 100% rename from protocol/tlv/t202.go rename to internal/tlv/t202.go diff --git a/protocol/tlv/t33.go b/internal/tlv/t33.go similarity index 100% rename from protocol/tlv/t33.go rename to internal/tlv/t33.go diff --git a/protocol/tlv/t35.go b/internal/tlv/t35.go similarity index 100% rename from protocol/tlv/t35.go rename to internal/tlv/t35.go diff --git a/protocol/tlv/t400.go b/internal/tlv/t400.go similarity index 100% rename from protocol/tlv/t400.go rename to internal/tlv/t400.go diff --git a/protocol/tlv/t401.go b/internal/tlv/t401.go similarity index 100% rename from protocol/tlv/t401.go rename to internal/tlv/t401.go diff --git a/protocol/tlv/t511.go b/internal/tlv/t511.go similarity index 100% rename from protocol/tlv/t511.go rename to internal/tlv/t511.go diff --git a/protocol/tlv/t516.go b/internal/tlv/t516.go similarity index 100% rename from protocol/tlv/t516.go rename to internal/tlv/t516.go diff --git a/protocol/tlv/t521.go b/internal/tlv/t521.go similarity index 100% rename from protocol/tlv/t521.go rename to internal/tlv/t521.go diff --git a/protocol/tlv/t525.go b/internal/tlv/t525.go similarity index 100% rename from protocol/tlv/t525.go rename to internal/tlv/t525.go diff --git a/protocol/tlv/t52d.go b/internal/tlv/t52d.go similarity index 100% rename from protocol/tlv/t52d.go rename to internal/tlv/t52d.go diff --git a/protocol/tlv/t536.go b/internal/tlv/t536.go similarity index 100% rename from protocol/tlv/t536.go rename to internal/tlv/t536.go diff --git a/protocol/tlv/t8.go b/internal/tlv/t8.go similarity index 100% rename from protocol/tlv/t8.go rename to internal/tlv/t8.go diff --git a/protocol/tlv/tlv.go b/internal/tlv/tlv.go similarity index 100% rename from protocol/tlv/tlv.go rename to internal/tlv/tlv.go