I agree with you on that, however the article says "The CRC RevEng code can also manipulate a message to generate a desired CRC value."
That is what I am confused on. Why would you need a desired CRC value?
That is what I am confused on. Why would you need a desired CRC value?
Another reason might be for QA testing, or for fuzzing purposes.
You don't always know the implementation details, but this type of control allows one to get more understanding of those details, by seeing how the software under test reacts. This stuff is not wildly uncommon in low-grade IoT devices, or high-end devices with a low level of security maturity.