SMB2_Header ReadSMB2Header(byte[] packet) { GCHandle handle = GCHandle.Alloc(packet, GCHandleType.Pinned); SMB2_Header header = (SMB2_Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(SMB2_Header)); handle.Free(); return(header); }
static byte[] GenerateSmb2HeaderFromCommand(byte command, ulong messageId = 0) { SMB2_Header header = new SMB2_Header(); header.ProtocolId = 0x424D53FE; header.Command = command; header.StructureSize = 64; header.Command = command; header.MessageId = messageId; header.Reserved = 0xFEFF; return(getBytes(header)); }
public byte[] GenerateSmb2HeaderFromCommand(SBM2_Command command) { SMB2_Header header = new SMB2_Header(); header.ProtocolId = 0x424D53FE; header.Command = (byte)command; header.StructureSize = 64; header.MessageId = _messageId++; header.Reserved = 0xFEFF; header.SessionId = _sessionid; header.TreeId = _TreeId; return(getBytes(header)); }