Checksum Dll — Winols
// Write result (16-bit to 32-bit with endianness) info->result = crc;
EXPORTS GetDllVersion GetPluginType CalculateChecksum Winols Checksum Dll
int __stdcall GetDllVersion(void) return DLL_VERSION; // Write result (16-bit to 32-bit with endianness)
Most ECUs (Bosch, Delphi) use big-endian for checksums. Intel/Motorola MCUs may differ. Always verify against an original unmodified binary. 6.3 Debugging Use OutputDebugString() from Windows API and monitor with DebugView to trace execution without crashing WinOLS. result = crc
uint32_t range_len = info->endOffset - info->startOffset + 1; uint16_t crc = custom_crc16( info->data + info->startOffset, range_len, (uint16_t)info->seed );
DLL_EXPORT int __stdcall GetDllVersion(void); DLL_EXPORT int __stdcall GetPluginType(void); DLL_EXPORT int __stdcall CalculateChecksum(tChecksumInfo* info);