I would use a visual analysis. Since you know there is a repetition every 256 bytes, create an image 256 pixels wide by however many deep, and encode the data using brightness. In (i)python it would look like this:
import os, numpy, matplotlib.pyplot as plt
%matplotlib inline
def read_in_chunks(infile, chunk_size=256):
while True:
chunk = infile.read(chunk_size)
if chunk:
yield chunk
else:
# The chunk was empty, which means we're at the end
# of the file
return
fname = 'enter something here'
srcfile = open(fname, 'rb')
height = 1 + os.path.getsize(fname)/256
data = numpy.zeros((height, 256), dtype=numpy.uint8)
data.shape
for i, line in enumerate(read_in_chunks(srcfile)):
vals = list(map(int, line))
data[i,:len(vals)] = vals
plt.imshow(data, aspect=1e-2);
This is what a PDF looks like:
A 256 byte periodic pattern would have manifested itself as vertical lines. Except for the header and tail it looks pretty noisy.