и посоветоваться не с кем. программа (немецкая) хранит в файле количество точек. Ну и сами точки дальше идут.
Например:
2 точки b'\x02\x00\x00\x00'
26 точек b'\x1a\x00\x00\x00'
Казалось бы понятно: это little endian int32
Но: 0 точек b'\xff\xff\xff\x7f'
Если я в hex редакторе меняю b'\xff\xff\xff\x7f' на b'\x00\x00\x00\x00' то прога все ещё корректно читает файл. как будто в немецком типе данных есть два нуля.
Может кто подсказать что это за формат такой? На int32 уже не похоже
если я предполагаю little endian int32 то b'\xff\xff\xff\x7f' это ведь максимальное положительное значение, верно? Я уже готов подумать что есть +0 и -0
Стикер
нет, я не лез внутрь .exe Только файлы с данными смотрел, мне надо их слегка отредактировать, удалив точки которые я точно знаю-лишние
сделай патч для софта, и все :)
А что идёт после точек? Возможно, 7fffffff это уже другие данные, а наличие точек (в том числе и счетчика) кодируется каким-нибудь флагом в заголовке.
Обсуждают сегодня