Reverse engineering of binary protocol
Summary
Domain Wind Turbine
Skills Software (Drivers, Analytics)
Team Size Self only
Duration 3 days

Objective: One of our customer lost the documentation for the controller of the wind turbine. As we were required to acquire data from its controller, the communication protocol was needed. My objective was to determine the proprietary protocol and then develop drivers based on it.

Challenges:
  1. The protocol was proprietor and binary
  2. The data types were of mixed lengths
  3. The packet format was of dynamic length

Solution: First I made a RS232 listener to listen to the request and response between the controller and the SCADA system. then after enough amount of packets were acquired along with the notation of various parameters during that period, I started decoding the binary data to determine various parameter values. It took me 2 nights on-site to finally decode the packets.