From e11770fd98966e1b4bff60c52fe39a5ef54435e1 Mon Sep 17 00:00:00 2001 From: elicn Date: Wed, 18 Oct 2023 22:32:01 +0300 Subject: [PATCH] Remove redundant os.elf_entry --- examples/fuzzing/dlink_dir815/dir815_mips32el_linux.py | 2 +- qiling/debugger/gdb/gdb.py | 2 +- qiling/loader/elf.py | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/examples/fuzzing/dlink_dir815/dir815_mips32el_linux.py b/examples/fuzzing/dlink_dir815/dir815_mips32el_linux.py index 8505c8e0..28afce92 100644 --- a/examples/fuzzing/dlink_dir815/dir815_mips32el_linux.py +++ b/examples/fuzzing/dlink_dir815/dir815_mips32el_linux.py @@ -42,7 +42,7 @@ def main(input_file, enable_trace=False): addr = ql.mem.search("HTTP_COOKIE=uid=1234&password=".encode()) ql.target_addr = addr[0] - main_addr = ql.os.elf_entry + main_addr = ql.loader.elf_entry ql.hook_address(callback=start_afl, address=main_addr) try: diff --git a/qiling/debugger/gdb/gdb.py b/qiling/debugger/gdb/gdb.py index e8c50118..a1648f36 100644 --- a/qiling/debugger/gdb/gdb.py +++ b/qiling/debugger/gdb/gdb.py @@ -83,7 +83,7 @@ class QlGdb(QlDebugger): entry_point = ql.loader.entry_point elif ql.os.type in (QL_OS.LINUX, QL_OS.FREEBSD) and not ql.code: - entry_point = ql.os.elf_entry + entry_point = ql.loader.elf_entry else: entry_point = ql.os.entry_point diff --git a/qiling/loader/elf.py b/qiling/loader/elf.py index 318a29e8..ddb050a5 100644 --- a/qiling/loader/elf.py +++ b/qiling/loader/elf.py @@ -376,7 +376,6 @@ class QlLoaderELF(QlLoader): self.init_sp = self.ql.arch.regs.arch_sp self.ql.os.entry_point = self.entry_point = entry_point - self.ql.os.elf_entry = self.elf_entry self.ql.os.function_hook = FunctionHook(self.ql, elf_phdr, elf_phnum, elf_phent, load_address, mem_end) # If there is a loader, we ignore exit @@ -600,9 +599,9 @@ class QlLoaderELF(QlLoader): mmap_address = self.profile.getint('mmap_address') self.ql.log.debug(f'mmap_address is : {mmap_address:#x}') - # self.ql.os.elf_entry = self.elf_entry = loadbase + elfhead['e_entry'] - self.ql.os.entry_point = self.entry_point = init_module - self.elf_entry = self.ql.os.elf_entry = self.ql.os.entry_point + # there is no interperter so emulation entry point is also elf entry + self.elf_entry = self.entry_point = init_module + self.ql.os.entry_point = self.entry_point self.stack_address = self.ql.mem.align(stack_addr, self.ql.arch.pointersize) self.load_address = loadbase