'reverse engineering binary file format pattern maker xsd xsp

I'm new to reverse engineering (especially exe and dll) and trying to break pattern maker and cross-stitch pro file formats of saved patterns *.xsd and *.xsp I'm saving the same data over and over again and binary data changes every time, even if there is no any changes in file.

For example - there is binary chunk i need to parse - 16 bytes (changes every time, i think this is some kind of header with some kind of key to pack data with bitwise operations) 4 bytes LE number showing amount of 4 byte blocks (changes every time, this might be the actual data)

Data blocks shows region of 4096 cells and if this region is empty - there is always 2 blocks with 4 bytes of data each (maybe coordinates of region)

73258713 C65AE979 3A1C9E66 8C41A802(header)

02000000 (LE number of blocks)

FFBBDD30 ED1A1376 (data of empty region)

and after saving again i'm having this

1D45BB6F 9D571C23 9A42CC53 4F78CD7A(header)

02000000 (LE number of blocks)

5289EC22 33657D7E (data of empty region)

Is there any kind of data pack algorithm, that can produce this kind of data? Or maybe there is file specification for cross-stitch data formats anywhere? Searched all over the internet with no result.

Also. There is an application, called myriacross Quick View, that can view all known cross-stitch data formats. Any hint on how to reverse engineer this?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source