import os
import struct

new_size = 0
data = b"AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD"

filename = '/tmp/good_test'
lzma_filename = '/tmp/good_test.lzma'
bad_lzma_filename = '/tmp/bad_test.lzma'

# create valid lzma file using system lzma (xz)
with open(filename, 'wb') as f:
    f.write(data)
os.system(f"lzma -z {filename} -c > {lzma_filename}")

with open(lzma_filename, 'rb') as f:
    lzma_contents = bytearray(f.read())

# set length header to 0
for i,c in enumerate(struct.pack('<Q', new_size)):
    lzma_contents[5 + i] = c

# write out new file
with open(bad_lzma_filename, 'wb') as f:
    f.write(lzma_contents)

print(bad_lzma_filename)

