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  }