package obfuscation import ( "encoding/binary" "testing" "github.com/stretchr/testify/assert" ) func FuzzGenerateHandshakeFrame(f *testing.F) { f.Fuzz(func(t *testing.T, arg int16) { frame := generateHandshake(int(arg)) assert.NotEqualValues(t, 0xef, frame.data[0]) firstBytes := binary.LittleEndian.Uint32(frame.data[:4]) assert.NotEqualValues(t, 0x44414548, firstBytes) assert.NotEqualValues(t, 0x54534f50, firstBytes) assert.NotEqualValues(t, 0x20544547, firstBytes) assert.NotEqualValues(t, 0x4954504f, firstBytes) assert.NotEqualValues(t, 0x02010316, firstBytes) assert.NotEqualValues(t, 0xeeeeeeee, firstBytes) assert.NotEqualValues(t, 0xdddddddd, firstBytes) assert.NotEqualValues( t, 0, frame.data[4]|frame.data[5]|frame.data[6]|frame.data[7]) assert.Equal(t, hfConnectionType[:], frame.connectionType()) if arg < 0 { arg = -arg } else if arg == 0 { arg = defaultDC } assert.EqualValues(t, arg, frame.dc()) }) }