#!/usr/bin/env python | |
import mmap | |
import os | |
from random import randint | |
import sys | |
RANGE_START = 0x1b30 | |
RANGE_END = 0x1b50 | |
MIN_BYTES_TO_FLIP = 1 | |
MAX_BYTES_TO_FLIP = 5 | |
with open(sys.argv[1], "r+b") as f: | |
mapped = mmap.mmap(f.fileno(), 0) | |
bytes_to_flip = randint(MIN_BYTES_TO_FLIP, MAX_BYTES_TO_FLIP) | |
bytes_flipped = 0 | |
while bytes_flipped < bytes_to_flip: | |
byte_pos = randint(RANGE_START, RANGE_END) | |
byte_new = chr(randint(0, 255)) | |
mapped[byte_pos] = byte_new | |
bytes_flipped += 1 | |
mapped.close() |