diff --git a/examples/hello_mips32_linux_customapi.py b/examples/hello_mips32_linux_customapi.py index 286d62faa..01fe30558 100644 --- a/examples/hello_mips32_linux_customapi.py +++ b/examples/hello_mips32_linux_customapi.py @@ -17,4 +17,5 @@ def my_puts(ql: Qiling): if __name__ == "__main__": ql = Qiling(["rootfs/mips32_linux/bin/mips32_hello"], "rootfs/mips32_linux", verbose=QL_VERBOSE.DEBUG) + ql.os.set_api("puts", my_puts) ql.run() diff --git a/examples/rootfs b/examples/rootfs index 6ec2907b7..54756aecf 160000 --- a/examples/rootfs +++ b/examples/rootfs @@ -1 +1 @@ -Subproject commit 6ec2907b7cd345e0123379a4b409e1d48876e37a +Subproject commit 54756aecffddc8b22843ddcb8a92afd1b0e545a3 diff --git a/qiling/os/linux/function_hook.py b/qiling/os/linux/function_hook.py index aa2e6cf64..5e7c564d7 100644 --- a/qiling/os/linux/function_hook.py +++ b/qiling/os/linux/function_hook.py @@ -557,8 +557,9 @@ def __init__(self, ql, phoff, phnum, phentsize, load_base, hook_mem): # MIPS32 elif self.ql.arch.type == QL_ARCH.MIPS: - self.GLOB_DAT = 21 - self.JMP_SLOT = 22 + # ref: https://sites.uclouvain.be/SystInfo/usr/include/elf.h.html + self.GLOB_DAT = 51 + self.JMP_SLOT = 127 # add $t9, $t9, $zero ins = b' \xc8 \x03' self.add_function_hook = self.add_function_hook_mips @@ -982,4 +983,4 @@ def add_function_hook_mips(self, funcname, cb, pos, userdata = None): # self.hook_int = True def _load_import(self): - pass \ No newline at end of file + pass