def get_struct(input_stream, start_offset, class_name, param_list = None) :
if param_list is None : param_list = []
structure = class_name(*param_list) # Unpack parameter list
struct_len = ctypes.sizeof(structure)
struct_data = input_stream[start_offset:start_offset + struct_len]
fit_len = min(len(struct_data), struct_len)
if (start_offset >= file_end) or (fit_len < struct_len) :
err_stor.append(col_r + "Error: Offset 0x%X out of bounds, possibly incomplete image!" % start_offset + col_e)
for error in err_stor : print(error)
if param.multi : multi_drop()
else: f.close()
mea_exit(1)
ctypes.memmove(ctypes.addressof(structure), struct_data, fit_len)
return structure
# Initialize PrettyTable
评论列表
文章目录