Fix fhloader tool

This commit is contained in:
Bjoern Kerler 2021-03-04 09:20:55 +01:00
parent 3f047dc7bc
commit 0406ed1065

View file

@ -5,20 +5,13 @@ from os import walk
import hashlib import hashlib
from struct import unpack, pack from struct import unpack, pack
from shutil import copyfile from shutil import copyfile
try: import os, sys, inspect
from Library.utils import elf current_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
from Library.sahara import convertmsmid parent_dir = os.path.dirname(current_dir)
from Config.qualcomm_config import vendor sys.path.insert(0, parent_dir)
parent_dir = "Loaders" from Library.utils import elf
except Exception as e: from Library.sahara import convertmsmid
import os, sys, inspect from Config.qualcomm_config import vendor
current_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parent_dir = os.path.dirname(current_dir)
sys.path.insert(0, parent_dir)
from Library.utils import elf
from Library.sahara import convertmsmid
from Config.qualcomm_config import vendor
class MBN: class MBN:
def __init__(self, memory): def __init__(self, memory):
@ -168,7 +161,7 @@ def extract_old_hdr(signatureoffset, sign_info, mem_section, code_size, signatur
def init_loader_db(): def init_loader_db():
loaderdb = {} loaderdb = {}
for (dirpath, dirnames, filenames) in os.walk(parent_dir): for (dirpath, dirnames, filenames) in os.walk(current_dir):
for filename in filenames: for filename in filenames:
file_name = os.path.join(dirpath, filename) file_name = os.path.join(dirpath, filename)
found = False found = False
@ -250,12 +243,12 @@ def main(argv):
hashes[sha256.digest()] = fname hashes[sha256.digest()] = fname
# Now lets search the input path for loaders # Now lets search the input path for loaders
extensions = ["elf", "mbn", "bin", "hex"] extensions = ["txt", "idb", "i64", "py"]
for (dirpath, dirnames, filenames) in walk(path): for (dirpath, dirnames, filenames) in walk(path):
for filename in filenames: for filename in filenames:
basename = os.path.basename(filename).lower() basename = os.path.basename(filename).lower()
ext = basename[basename.rfind(".") + 1:] ext = basename[basename.rfind(".") + 1:]
if ext in extensions: if ext not in extensions:
file_list.append(os.path.join(dirpath, filename)) file_list.append(os.path.join(dirpath, filename))
if not os.path.exists(os.path.join(outputdir, "Unknown")): if not os.path.exists(os.path.join(outputdir, "Unknown")):