Adjust all set_syscall usages

This commit is contained in:
elicn
2022-01-25 15:29:34 +02:00
parent 5461dc7649
commit 26c0aa157b
7 changed files with 54 additions and 54 deletions
+2 -2
View File
@@ -30,9 +30,9 @@ if __name__ == "__main__":
# Known issue: If the syscall func is not be implemented in qiling, qiling does
# not know which func should be replaced.
# In that case, you must specify syscall by its number.
ql.set_syscall(0x04, my_syscall_write)
ql.os.set_syscall(0x04, my_syscall_write)
# set syscall by syscall name
#ql.set_syscall("write", my_syscall_write)
#ql.os.set_syscall("write", my_syscall_write)
ql.run()
+2 -2
View File
@@ -22,6 +22,6 @@ def write_onexit(ql: Qiling, arg1, arg2, arg3, *args):
if __name__ == "__main__":
ql = Qiling(["rootfs/x8664_linux/bin/x8664_hello"], "rootfs/x8664_linux", verbose=QL_VERBOSE.DEBUG)
ql.set_syscall(SYSCALL_NR.write, write_onenter, QL_INTERCEPT.ENTER)
ql.set_syscall(SYSCALL_NR.write, write_onexit, QL_INTERCEPT.EXIT)
ql.os.set_syscall(SYSCALL_NR.write, write_onenter, QL_INTERCEPT.ENTER)
ql.os.set_syscall(SYSCALL_NR.write, write_onexit, QL_INTERCEPT.EXIT)
ql.run()
+1 -1
View File
@@ -61,7 +61,7 @@ def my_netgear(path, rootfs):
ql.os.root = False
ql.add_fs_mapper('/proc', '/proc')
ql.set_syscall(4004, my_syscall_write)
ql.os.set_syscall(4004, my_syscall_write)
ql.set_api('bind', my_bind, QL_INTERCEPT.ENTER) # intercepting the bind call on enter
ql.run()
+1 -1
View File
@@ -75,7 +75,7 @@ def my_sandbox(path, rootfs):
ql.debugger = False
if ql.debugger == True:
ql.set_syscall("vfork", myvfork)
ql.os.set_syscall("vfork", myvfork)
ql.run()
+34 -34
View File
@@ -127,9 +127,9 @@ class ELFTest(unittest.TestCase):
return str_len + 1
ql = Qiling(["../examples/rootfs/x8664_linux/bin/x8664_args","1234test", "12345678", "bin/x8664_hello"], "../examples/rootfs/x8664_linux", verbose=QL_VERBOSE.DEBUG)
ql.set_syscall(1, write_onEnter, QL_INTERCEPT.ENTER)
ql.os.set_syscall(1, write_onEnter, QL_INTERCEPT.ENTER)
ql.set_api('puts', my_puts)
ql.set_syscall(1, write_onexit, QL_INTERCEPT.EXIT)
ql.os.set_syscall(1, write_onexit, QL_INTERCEPT.EXIT)
ql.mem.map(0x1000, 0x1000)
ql.mem.write(0x1000, b"\xFF\xFE\xFD\xFC\xFB\xFA\xFB\xFC\xFC\xFE\xFD")
ql.mem.map(0x2000, 0x1000)
@@ -332,12 +332,12 @@ class ELFTest(unittest.TestCase):
return regreturn
ql = Qiling(["../examples/rootfs/x86_linux/bin/x86_posix_syscall"], "../examples/rootfs/x86_linux", verbose=QL_VERBOSE.DEBUG)
ql.set_syscall(0x3, test_syscall_read)
ql.set_syscall(0x4, test_syscall_write)
ql.set_syscall(0x127, test_syscall_openat)
ql.set_syscall(0xa, test_syscall_unlink)
ql.set_syscall(0x5c, test_syscall_truncate)
ql.set_syscall(0x5d, test_syscall_ftruncate)
ql.os.set_syscall(0x3, test_syscall_read)
ql.os.set_syscall(0x4, test_syscall_write)
ql.os.set_syscall(0x127, test_syscall_openat)
ql.os.set_syscall(0xa, test_syscall_unlink)
ql.os.set_syscall(0x5c, test_syscall_truncate)
ql.os.set_syscall(0x5d, test_syscall_ftruncate)
ql.run()
del ql
@@ -458,12 +458,12 @@ class ELFTest(unittest.TestCase):
# os.remove(real_path)
# ql = Qiling(["../examples/rootfs/arm_linux/bin/arm_posix_syscall"], "../examples/rootfs/arm_linux", verbose=QL_VERBOSE.DEBUG)
# ql.set_syscall(0x3, test_syscall_read)
# ql.set_syscall(0x4, test_syscall_write)
# ql.set_syscall(0x5, test_syscall_open)
# ql.set_syscall(0xa, test_syscall_unlink)
# ql.set_syscall(0x5c, test_syscall_truncate)
# ql.set_syscall(0x5d, test_syscall_ftruncate)
# ql.os.set_syscall(0x3, test_syscall_read)
# ql.os.set_syscall(0x4, test_syscall_write)
# ql.os.set_syscall(0x5, test_syscall_open)
# ql.os.set_syscall(0xa, test_syscall_unlink)
# ql.os.set_syscall(0x5c, test_syscall_truncate)
# ql.os.set_syscall(0x5d, test_syscall_ftruncate)
# ql.run()
# del ql
@@ -634,12 +634,12 @@ class ELFTest(unittest.TestCase):
return regreturn
ql = Qiling(["../examples/rootfs/arm64_linux/bin/arm64_posix_syscall"], "../examples/rootfs/arm64_linux", verbose=QL_VERBOSE.DEBUG)
ql.set_syscall(0x3f, test_syscall_read)
ql.set_syscall(0x40, test_syscall_write)
ql.set_syscall(0x38, test_syscall_openat)
ql.set_syscall(0x402, test_syscall_unlink)
ql.set_syscall(0x2d, test_syscall_truncate)
ql.set_syscall(0x2e, test_syscall_ftruncate)
ql.os.set_syscall(0x3f, test_syscall_read)
ql.os.set_syscall(0x40, test_syscall_write)
ql.os.set_syscall(0x38, test_syscall_openat)
ql.os.set_syscall(0x402, test_syscall_unlink)
ql.os.set_syscall(0x2d, test_syscall_truncate)
ql.os.set_syscall(0x2e, test_syscall_ftruncate)
ql.run()
del ql
@@ -777,12 +777,12 @@ class ELFTest(unittest.TestCase):
return regreturn
ql = Qiling(["../examples/rootfs/mips32el_linux/bin/mips32el_posix_syscall"], "../examples/rootfs/mips32el_linux", verbose=QL_VERBOSE.DEBUG)
ql.set_syscall(4003, test_syscall_read)
ql.set_syscall(4004, test_syscall_write)
ql.set_syscall(4005, test_syscall_open)
ql.set_syscall(4010, test_syscall_unlink)
ql.set_syscall(4092, test_syscall_truncate)
ql.set_syscall(4093, test_syscall_ftruncate)
ql.os.set_syscall(4003, test_syscall_read)
ql.os.set_syscall(4004, test_syscall_write)
ql.os.set_syscall(4005, test_syscall_open)
ql.os.set_syscall(4010, test_syscall_unlink)
ql.os.set_syscall(4092, test_syscall_truncate)
ql.os.set_syscall(4093, test_syscall_ftruncate)
ql.run()
del ql
@@ -813,7 +813,7 @@ class ELFTest(unittest.TestCase):
return regreturn
ql = Qiling(["../examples/rootfs/arm_linux/bin/arm_hello"], "../examples/rootfs/arm_linux")
ql.set_syscall(0x04, my_syscall_write)
ql.os.set_syscall(0x04, my_syscall_write)
ql.run()
self.assertEqual(1, self.set_syscall)
@@ -834,7 +834,7 @@ class ELFTest(unittest.TestCase):
ins_count = [0]
ql.hook_code(instruction_count, ins_count)
ql.set_syscall("_llseek", my__llseek)
ql.os.set_syscall("_llseek", my__llseek)
ql.os.stdin = pipe.SimpleInStream(sys.stdin.fileno())
ql.os.stdin.write(payload)
@@ -900,8 +900,8 @@ class ELFTest(unittest.TestCase):
def check_exit_code(ql, exit_code, *args, **kw):
ql.exit_code = exit_code
ql.set_syscall("exit_group", check_exit_group_code, QL_INTERCEPT.ENTER)
ql.set_syscall("exit", check_exit_code, QL_INTERCEPT.ENTER)
ql.os.set_syscall("exit_group", check_exit_group_code, QL_INTERCEPT.ENTER)
ql.os.set_syscall("exit", check_exit_code, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual(0, ql.exit_code)
@@ -937,8 +937,8 @@ class ELFTest(unittest.TestCase):
def check_exit_code(ql, exit_code, *args, **kw):
ql.exit_code = exit_code
ql.set_syscall("exit_group", check_exit_group_code, QL_INTERCEPT.ENTER)
ql.set_syscall("exit", check_exit_code, QL_INTERCEPT.ENTER)
ql.os.set_syscall("exit_group", check_exit_group_code, QL_INTERCEPT.ENTER)
ql.os.set_syscall("exit", check_exit_code, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual(0, ql.exit_code)
@@ -959,8 +959,8 @@ class ELFTest(unittest.TestCase):
def check_exit_code(ql, exit_code, *args, **kw):
ql.exit_code = exit_code
ql.set_syscall("exit_group", check_exit_group_code, QL_INTERCEPT.ENTER)
ql.set_syscall("exit", check_exit_code, QL_INTERCEPT.ENTER)
ql.os.set_syscall("exit_group", check_exit_group_code, QL_INTERCEPT.ENTER)
ql.os.set_syscall("exit", check_exit_code, QL_INTERCEPT.ENTER)
ql.run()
+12 -12
View File
@@ -65,7 +65,7 @@ class ELFTest(unittest.TestCase):
pass
buf_out = None
ql = Qiling(["../examples/rootfs/x86_linux/bin/x86_multithreading"], "../examples/rootfs/x86_linux", multithread=True, verbose=QL_VERBOSE.DEBUG)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertTrue("thread 2 ret val is" in buf_out)
@@ -84,7 +84,7 @@ class ELFTest(unittest.TestCase):
pass
buf_out = None
ql = Qiling(["../examples/rootfs/arm64_linux/bin/arm64_multithreading"], "../examples/rootfs/arm64_linux", multithread=True, verbose=QL_VERBOSE.DEBUG)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertTrue("thread 2 ret val is" in buf_out)
@@ -103,7 +103,7 @@ class ELFTest(unittest.TestCase):
pass
buf_out = None
ql = Qiling(["../examples/rootfs/x8664_linux/bin/x8664_multithreading"], "../examples/rootfs/x8664_linux", multithread=True, profile= "profiles/append_test.ql")
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertTrue("thread 2 ret val is" in buf_out)
@@ -122,7 +122,7 @@ class ELFTest(unittest.TestCase):
pass
buf_out = None
ql = Qiling(["../examples/rootfs/mips32el_linux/bin/mips32el_multithreading"], "../examples/rootfs/mips32el_linux", multithread=True, verbose=QL_VERBOSE.DEBUG)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertTrue("thread 2 ret val is" in buf_out)
@@ -141,7 +141,7 @@ class ELFTest(unittest.TestCase):
pass
buf_out = None
ql = Qiling(["../examples/rootfs/arm_linux/bin/arm_multithreading"], "../examples/rootfs/arm_linux", multithread=True, verbose=QL_VERBOSE.DEBUG)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertTrue("thread 2 ret val is" in buf_out)
@@ -159,7 +159,7 @@ class ELFTest(unittest.TestCase):
except:
pass
ql = Qiling(["../examples/rootfs/x86_linux/bin/x86_tcp_test","20001"], "../examples/rootfs/x86_linux", multithread=True)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual("server send() 14 return 14.\n", ql.buf_out)
@@ -177,7 +177,7 @@ class ELFTest(unittest.TestCase):
except:
pass
ql = Qiling(["../examples/rootfs/x8664_linux/bin/x8664_tcp_test","20002"], "../examples/rootfs/x8664_linux", multithread=True)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual("server send() 14 return 14.\n", ql.buf_out)
@@ -195,7 +195,7 @@ class ELFTest(unittest.TestCase):
except:
pass
ql = Qiling(["../examples/rootfs/arm_linux/bin/arm_tcp_test","20003"], "../examples/rootfs/arm_linux", multithread=True)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual("server write() 14 return 14.\n", ql.buf_out)
@@ -213,7 +213,7 @@ class ELFTest(unittest.TestCase):
except:
pass
ql = Qiling(["../examples/rootfs/arm64_linux/bin/arm64_tcp_test","20004"], "../examples/rootfs/arm64_linux", multithread=True)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual("server send() 14 return 14.\n", ql.buf_out)
@@ -238,7 +238,7 @@ class ELFTest(unittest.TestCase):
pass
ql = Qiling(["../examples/rootfs/x86_linux/bin/x86_udp_test","20007"], "../examples/rootfs/x86_linux", multithread=True)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual("server sendto() 14 return 14.\n", ql.buf_out)
@@ -257,7 +257,7 @@ class ELFTest(unittest.TestCase):
pass
ql = Qiling(["../examples/rootfs/x8664_linux/bin/x8664_udp_test","20008"], "../examples/rootfs/x8664_linux", multithread=True)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual("server sendto() 14 return 14.\n", ql.buf_out)
@@ -275,7 +275,7 @@ class ELFTest(unittest.TestCase):
pass
ql = Qiling(["../examples/rootfs/arm64_linux/bin/arm64_udp_test","20009"], "../examples/rootfs/arm64_linux", multithread=True)
ql.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.os.set_syscall("write", check_write, QL_INTERCEPT.ENTER)
ql.run()
self.assertEqual("server sendto() 14 return 14.\n", ql.buf_out)
+2 -2
View File
@@ -18,7 +18,7 @@ class RISCVTest(unittest.TestCase):
def close(ql, fd):
return 0
ql.set_syscall("close", close, QL_INTERCEPT.CALL)
ql.os.set_syscall("close", close, QL_INTERCEPT.CALL)
ql.os.stdout = stdout
ql.run()
self.assertTrue(stdout.read() == b'Hello, World!\n')
@@ -32,7 +32,7 @@ class RISCVTest(unittest.TestCase):
def close(ql, fd):
return 0
ql.set_syscall("close", close, QL_INTERCEPT.CALL)
ql.os.set_syscall("close", close, QL_INTERCEPT.CALL)
ql.os.stdout = stdout
ql.run()
self.assertTrue(stdout.read() == b'Hello, World!\n')