public UInt32 DecodeIntHooked(IntPtr @this) { CInPacket packet = (CInPacket)Marshal.PtrToStructure(@this, typeof(CInPacket)); int result = packet.ToReader().ReadInt32(); PacketSegment segment = new PacketSegment(@this.ToInt32(), PacketSegmentType.INT, result, "RECV"); AddSegment(@this.ToInt32(), segment); return(Main.DecodeIntOriginal(@this)); }
public byte DecodeByteHooked(IntPtr @this) { CInPacket packet = (CInPacket)Marshal.PtrToStructure(@this, typeof(CInPacket)); byte result = packet.ToReader().ReadByte(); PacketSegment segment = new PacketSegment(@this.ToInt32(), PacketSegmentType.BYTE, result, "RECV"); AddSegment(@this.ToInt32(), segment); return(Main.DecodeByteOriginal(@this)); }
public void DecodeBufferHooked(IntPtr @this, IntPtr bufferPointer, UInt32 uSize) { CInPacket packet = (CInPacket)Marshal.PtrToStructure(@this, typeof(CInPacket)); byte[] result = packet.ToReader().ReadBytes((int)uSize); PacketSegment segment = new PacketSegment(@this.ToInt32(), PacketSegmentType.BUFFER, result, "RECV"); AddSegment(@this.ToInt32(), segment); Main.DecodeBufferOriginal(@this, bufferPointer, uSize); }
public IntPtr DecodeStringHooked(IntPtr @this, IntPtr resultPointer) { CInPacket packet = (CInPacket)Marshal.PtrToStructure(@this, typeof(CInPacket)); BinaryReader reader = packet.ToReader(); int length = reader.ReadInt16(); string result = Encoding.ASCII.GetString(reader.ReadBytes(length)); reader.Close(); // Should close all other readers???? PacketSegment segment = new PacketSegment(@this.ToInt32(), PacketSegmentType.STRING, result, "RECV"); AddSegment(@this.ToInt32(), segment); return(Main.DecodeStringOriginal(@this, resultPointer)); }