diff --git a/NeoBoot/ubi_reader/ubi_reader_arm/ui/common.py b/NeoBoot/ubi_reader/ubi_reader_arm/ui/common.py deleted file mode 100644 index c8669fd..0000000 --- a/NeoBoot/ubi_reader/ubi_reader_arm/ui/common.py +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/python -import os -from ubi_io import leb_virtual_file -from ubifs import ubifs, walk, output -from ubifs.defines import PRINT_UBIFS_KEY_HASH, PRINT_UBIFS_COMPR -from ubi.defines import PRINT_VOL_TYPE_LIST, UBI_VTBL_AUTORESIZE_FLG -output_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'output') - -def extract_files(ubifs, out_path, perms = False): - try: - inodes = {} - walk.index(ubifs, ubifs.master_node.root_lnum, ubifs.master_node.root_offs, inodes) - for dent in inodes[1]['dent']: - output.dents(ubifs, inodes, dent, out_path, perms) - - except Exception as e: - import traceback - ubifs.log.write('%s' % e) - traceback.print_exc() - - -def get_ubi_params(ubi): - ubi_flags = {'min_io_size': '-m', - 'max_bud_bytes': '-j', - 'leb_size': '-e', - 'default_compr': '-x', - 'sub_page_size': '-s', - 'fanout': '-f', - 'key_hash': '-k', - 'orph_lebs': '-p', - 'log_lebs': '-l', - 'max_leb_cnt': '-c', - 'peb_size': '-p', - 'sub_page_size': '-s', - 'vid_hdr_offset': '-O', - 'version': '-x', - 'image_seq': '-Q', - 'alignment': '-a', - 'vol_id': '-n', - 'name': '-N'} - ubi_params = {} - ubi_args = {} - ini_params = {} - for image in ubi.images: - img_seq = image.image_seq - ubi_params[img_seq] = {} - ubi_args[img_seq] = {} - ini_params[img_seq] = {} - for volume in image.volumes: - ubi_args[img_seq][volume] = {} - ini_params[img_seq][volume] = {} - ini_params[img_seq][volume]['vol_type'] = PRINT_VOL_TYPE_LIST[image.volumes[volume].vol_rec.vol_type] - if image.volumes[volume].vol_rec.flags == UBI_VTBL_AUTORESIZE_FLG: - ini_params[img_seq][volume]['vol_flags'] = 'autoresize' - else: - ini_params[img_seq][volume]['vol_flags'] = image.volumes[volume].vol_rec.flags - ini_params[img_seq][volume]['vol_id'] = image.volumes[volume].vol_id - ini_params[img_seq][volume]['vol_name'] = image.volumes[volume].name.rstrip('\x00') - ini_params[img_seq][volume]['vol_alignment'] = image.volumes[volume].vol_rec.alignment - ini_params[img_seq][volume]['vol_size'] = image.volumes[volume].vol_rec.reserved_pebs * ubi.leb_size - ufsfile = leb_virtual_file(ubi, image.volumes[volume]) - uubifs = ubifs(ufsfile) - for key, value in uubifs.superblock_node: - if key == 'key_hash': - value = PRINT_UBIFS_KEY_HASH[value] - elif key == 'default_compr': - value = PRINT_UBIFS_COMPR[value] - if key in ubi_flags: - ubi_args[img_seq][volume][key] = value - - for key, value in image.volumes[volume].vol_rec: - if key == 'name': - value = value.rstrip('\x00') - if key in ubi_flags: - ubi_args[img_seq][volume][key] = value - - ubi_args[img_seq][volume]['version'] = image.version - ubi_args[img_seq][volume]['vid_hdr_offset'] = image.vid_hdr_offset - ubi_args[img_seq][volume]['sub_page_size'] = ubi_args[img_seq][volume]['vid_hdr_offset'] - ubi_args[img_seq][volume]['sub_page_size'] = ubi_args[img_seq][volume]['vid_hdr_offset'] - ubi_args[img_seq][volume]['image_seq'] = image.image_seq - ubi_args[img_seq][volume]['peb_size'] = ubi.peb_size - ubi_args[img_seq][volume]['vol_id'] = image.volumes[volume].vol_id - ubi_params[img_seq][volume] = {'flags': ubi_flags, - 'args': ubi_args[img_seq][volume], - 'ini': ini_params[img_seq][volume]} - - return ubi_params \ No newline at end of file