ByCAN: Reverse Engineering Controller Area Network (CAN) Messages from Bit to Byte Level