UV_K5_playground/src/orginal_fw/fw_decomposer.py

32 wiersze
1.0 KiB
Python

import sys
class FwDecompozer:
def __init__(self, vector_table_size, vector_table_address, file):
self.vector_table_size = vector_table_size * 4
self.vector_table_address = vector_table_address
self.file = open(file, 'rb')
def save_vector_table(self, filename):
output = open(filename, 'wb')
self.file.seek(self.vector_table_address, 0)
output.write(self.file.read(self.vector_table_size))
output.close()
def save_part1(self, filename):
output = open(filename, 'wb')
self.file.seek(0)
output.write(self.file.read(self.vector_table_address))
output.close()
def save_part2(self, filename):
output = open(filename, 'wb')
self.file.seek(self.vector_table_address + self.vector_table_size, 0)
output.write(self.file.read())
output.close()
if __name__ == '__main__':
args = sys.argv
fw = FwDecompozer(int(args[1]), int(args[2]), args[3])
fw.save_vector_table(args[4])
fw.save_part1(args[5])
fw.save_part2(args[6])