github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/internal/tlv/t144.go (about) 1 package tlv 2 3 import ( 4 "github.com/Mrs4s/MiraiGo/binary" 5 ) 6 7 func T144( 8 imei, devInfo, osType, osVersion, simInfo, apn []byte, 9 isGuidFromFileNull, isGuidAvailable, isGuidChanged bool, 10 guidFlag uint32, 11 buildModel, guid, buildBrand, tgtgtKey []byte, 12 ) []byte { 13 return binary.NewWriterF(func(w *binary.Writer) { 14 w.WriteUInt16(0x144) 15 pos := w.FillUInt16() 16 w.EncryptAndWrite(tgtgtKey, binary.NewWriterF(func(w *binary.Writer) { 17 w.WriteUInt16(5) 18 w.Write(T109(imei)) 19 w.Write(T52D(devInfo)) 20 w.Write(T124(osType, osVersion, simInfo, apn)) 21 w.Write(T128(isGuidFromFileNull, isGuidAvailable, isGuidChanged, guidFlag, buildModel, guid, buildBrand)) 22 w.Write(T16E(buildModel)) 23 })) 24 w.WriteUInt16At(pos, uint16(w.Len()-4)) 25 }) 26 }