阅读 stp(Designaknit Stitch Pattern)-文件

逆向工程 艾达 文件格式
2021-06-25 07:56:31

我想为我的妻子编写一个小编织程序。在其中,我还将读取 * .stp 文件(针迹图案)。这些是包含由 DesignaKnit 程序创建的图形的小文件,其中许多是 Internet 上的文件。(示例 z. B. 到http://www.stricknetz.net/muster/dateien/)。要阅读它,我当然需要格式。因为我在任何地方都找不到它,所以我试图破译。我找到了很多,但现在还没有取得进展,希望能有所帮助。

这是我发现的:

Byte 0-2: D7C
Byte 3-4: width
Byte 5-6: Height
Byte 7-8: width
Byte 9-10: Height
Byte 11-12: number of pattern repeats Horizontal
Byte 13-14: Number of vertical pattern repeats
Byte 44: 'Knitting technique:
    '0 = different - see the pattern ????
    '1 = marquetry
    '2 = 2-color jacquard
    '3 = 3-color jacquard
    '4 = 4-color jacquard
    '12 = Handstrick
    '14 = Structure pattern right side
    '15 = Textured pattern left

Byte 177-209: Font name - padded with 0 (209 = End 0)
248-249 = height (number of rows)
250-251 = size image data in bytes
252 - (252 + image data size) = image data - (somehow RLE - compressed)
Then: 2 bytes = height (number of rows or number ???)
then 2 bytes Size of data
then ending bytes
then unknown data
then pallet (48 colors - if color is not used to zero)
Color 1 = 25 bytes
    Byte 0: number?
    Byte 1: message numbers
    Byte 3: Number
    Byte 6-8: RGB color
    Byte 9: Length Color Name
    Byte 10-24: color name with a final 0 (at length 15 without 0)

但我坚持使用数据的 RLE 编码。它们以某种方式经过特殊编码。数字(对于相同颜色的数字,但对于范围内的数字)重复切换。z。B.

00h 05h 21h 00h 22h 02h 29h 0Ch
Color 1 | 2 Color | Color 1 | 2 Color | Color 1 | 2 Color | Color 1 | Colour 2 | etc.

因此,托盘中的位置不断变化(或重新计算 - 例如示例中的颜色 1。00h、21h、22h、29h ...)

但 RLE 编码字节中相同颜色像素的数量不断变化。所以 2 是相同颜色的像素,一次是 B3h,然后是 B9H,然后是 B9H,然后是 B4h 等等。在测试中我发现它与位置 35h(十进制 53)的任何字节相连。但我不来。我试图查看他们可以使用 IDA 读取文件的程序(SilverKnit Utility (www.silverknit.nl/download/) -。但由于我不会说汇编程序,我不明白也许有人可以帮我解决 STP 之谜来解决文件(如果可能的话)??????????????????

阿尔弗雷德

0个回答
没有发现任何回复~