qiling icon indicating copy to clipboard operation
qiling copied to clipboard

Can't load my library【ARM32】

Open z0xi opened this issue 3 years ago • 5 comments

Hi. I'm a new user of Qiling. I want to emulate a bin. But qiling can't load the library,

the dependency of the bin is armbsp: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, stripped

0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [librt.so.1] 0x00000001 (NEEDED) Shared library: [libsecurec.so] 0x00000001 (NEEDED) Shared library: [libstdc++.so.6] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x00000001 (NEEDED) Shared library: [ld-linux.so.3] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1]

I add the libpthread.so.0 in rootfs/arm_linux/lib, and add it in rootfs/arm_linux/usr/lib

and the output is

[+]	Profile: Default
[+]	Set init_kernel_get_tls
[+]	Mapped 0x56555000-0x56565000
[+]	Mapped 0x5656c000-0x5656f000
[+]	mem_start : 0x0
[+]	mem_end   : 0x1a000
[+]	Interpreter path: ../rootfs/myrootfs/lib/ld-linux.so.3
[+]	Interpreter addr: 0x47ba000
[+]	Interpreter size: 0x32000
[+]	mmap_address is : 0x774bf000
[+]	rel name b'__stack_chk_guard'
[+]	rel name b'stderr'
[+]	rel name b'stdout'
[+]	rel name b'_ITM_deregisterTMCloneTable'
[+]	rel name b'__gmon_start__'
[+]	rel name b'_ITM_registerTMCloneTable'
[+]	rel name b'__cxa_finalize'
[+]	rel name b'signal'
[+]	rel name b'pthread_mutex_lock'
[+]	rel name b'localtime_r'
[+]	rel name b'pthread_mutex_init'
[+]	rel name b'__aeabi_uldivmod'
[+]	rel name b'getpid'
[+]	rel name b'vsnprintf_s'
[+]	rel name b'memset_s'
[+]	rel name b'sem_trywait'
[+]	rel name b'free'
[+]	rel name b'readdir'
[+]	rel name b'strcpy_s'
[+]	rel name b'snprintf_s'
[+]	rel name b'strncmp'
[+]	rel name b'fgetc'
[+]	rel name b'closedir'
[+]	rel name b'printf'
[+]	rel name b'dirname'
[+]	rel name b'puts'
[+]	rel name b'realpath'
[+]	rel name b'sem_wait'
[+]	rel name b'flock'
[+]	rel name b'syscall'
[+]	rel name b'setpgid'
[+]	rel name b'strtoul'
[+]	rel name b'memset'
[+]	rel name b'opendir'
[+]	rel name b'__libc_start_main'
[+]	rel name b'mmap64'
[+]	rel name b'strncpy_s'
[+]	rel name b'close'
[+]	rel name b'fopen'
[+]	rel name b'read'
[+]	rel name b'abort'
[+]	rel name b'sem_init'
[+]	rel name b'unlink'
[+]	rel name b'ioctl'
[+]	rel name b'dup2'
[+]	rel name b'mmap'
[+]	rel name b'open'
[+]	rel name b'memcpy_s'
[+]	rel name b'getpagesize'
[+]	rel name b'__stack_chk_fail'
[+]	rel name b'vfork'
[+]	rel name b'mkdir'
[+]	rel name b'strtoull'
[+]	rel name b'wait4'
[+]	rel name b'calloc'
[+]	rel name b'fputc'
[+]	rel name b'fwrite'
[+]	rel name b'memcpy'
[+]	rel name b'malloc'
[+]	rel name b'strlen'
[+]	rel name b'munmap'
[+]	rel name b'fclose'
[+]	rel name b'write'
[+]	rel name b'sem_timedwait'
[+]	rel name b'_exit'
[+]	rel name b'strcmp'
[+]	rel name b'sem_post'
[+]	rel name b'time'
[+]	rel name b'__errno_location'
[+]	rel name b'fflush'
[+]	rel name b'__xpg_basename'
[+]	rel name b'sprintf_s'
[+]	rel name b'execvp'
[+]	rel name b'__gmon_start__'
[+]	rel name b'strchr'
[+]	rel name b'__cxa_finalize'
[+]	rel name b'pthread_mutex_unlock'
[+]	rel name b'strdup'
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d3548: ql_syscall_brk()
[+]	0x047d3548: brk(inp = 0x0) = 0x56571000
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d479c: ql_syscall_uname()
[+]	0x047d479c: uname(buf = 0x7ff3cb08) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d45ac: ql_syscall_access()
[+]	No such file or directory: /etc/ld.so.nohwcap
[+]	0x047d45ac: access(path = 0x47d8f64, mode = 0x0) = -0x1 (EPERM)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d46bc: ql_syscall_mmap2()
[+]	mmap2 - mapping needed for 0x774bf000
[+]	mmap2 - addr range  0x774bf000 - 0x774c1fff: 
[+]	0x047d46bc: mmap2(addr = 0x0, length = 0x3000, prot = 0x3, flags = 0x22, fd = 0xffffffff, pgoffset = 0x0) = 0x774bf000
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d45ac: ql_syscall_access()
[+]	No such file or directory: /etc/ld.so.preload
[+]	0x047d45ac: access(path = 0x47d7fb8, mode = 0x4) = -0x1 (EPERM)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/etc/ld.so.cache, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/etc/ld.so.cache
[+]	0x047d44ac: open(filename = 0x47d9df0, flags = 0x80000, mode = 0x1) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/tls/i686/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/tls/i686/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/tls/i686/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/tls/i686/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/tls/i686/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/tls/i686/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/tls/i686/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/tls/i686/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/tls/i686/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/tls/i686/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/tls/i686/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/tls/i686", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/tls/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/tls/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/tls/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/tls/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/tls/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/tls/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/tls/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/tls/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/tls/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/tls/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/tls/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/tls", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/i686/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/i686/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/i686/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/i686/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/i686/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/i686/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/i686/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/i686/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/i686/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/i686/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/i686/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/i686", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/arm-linux-gnueabihf/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/arm-linux-gnueabihf/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/arm-linux-gnueabihf", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/tls/i686/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/tls/i686/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/tls/i686/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/tls/i686/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/tls/i686/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/tls/i686/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/tls/i686/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/tls/i686/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/tls/i686/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/tls/i686/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/tls/i686/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/tls/i686", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/tls/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/tls/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/tls/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/tls/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/tls/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/tls/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/tls/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/tls/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/tls/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/tls/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/tls/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/tls", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/i686/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/i686/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/i686/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/i686/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/i686/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/i686/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/i686/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/i686/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/i686/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/i686/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/i686/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/i686", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/arm-linux-gnueabihf/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/arm-linux-gnueabihf/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/arm-linux-gnueabihf", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/tls/i686/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/tls/i686/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/tls/i686/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/tls/i686/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/tls/i686/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/tls/i686/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/tls/i686/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/tls/i686/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/tls/i686/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/tls/i686/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/tls/i686/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/tls/i686", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/tls/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/tls/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/tls/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/tls/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/tls/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/tls/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/tls/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/tls/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/tls/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/tls/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/tls/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/tls", 0x7ff3c730) write completed
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/i686/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/i686/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/i686/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/i686/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/i686/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/i686/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/i686/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/i686/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/i686/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/i686/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/i686/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/i686", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/lib/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/lib/libpthread.so.0, 0o0) = 3
[+]	File found: /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = 0x3
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ec: ql_syscall_read()
[+]	read() CONTENT: b'\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00(\x00\x01\x00\x00\x00\xf8\x06\x00\x004\x00\x00\x00\x101\x00\x00\x00\x02\x00\x054\x00 \x00\x06\x00(\x00\x19\x00\x18\x00\x01\x00\x00p\x98\x1f\x00\x00\x98\x1f\x00\x00\x98\x1f\x00\x00\xf0\x00\x00\x00\xf0\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88!\x00\x00\x88!\x00\x00\x05\x00\x00\x00\x00\x80\x00\x00\x01\x00\x00\x00\x98.\x00\x00\x98\xae\x00\x00\x98\xae\x00\x00l\x01\x00\x00p\x01\x00\x00\x06\x00\x00\x00\x00\x80\x00\x00\x02\x00\x00\x00\xa0.\x00\x00\xa0\xae\x00\x00\xa0\xae\x00\x00\x10\x01\x00\x00\x10\x01\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00Q\xe5td\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x10\x00\x00\x00R\xe5td\x98.\x00\x00\x98\xae\x00\x00\x98\xae\x00\x00h\x01\x00\x00h\x01\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00GNU\x00\x00\x00\x00\x00\x05\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\r\x00\x00\x00\x04\x00\x00\x00\x07\x00\x00\x00\x00\x03\x04\x08\x00\x00\x00\x00\x80A\x02\n\x00\x80\x02\x00\r\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xc7\xf8\xf3\xc3\xc9\xf8\xf3\xc3\t\xf9\xf3\xc3\t\xf9\xf3\xc3\xef\xf8\xf3\xc3\xd9=l\xf6\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x89\xddv\x16\xcf\xf8\xf3\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x03\x00\x15\x00F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00'
[+]	0x047d44ec: read(fd = 0x3, buf = 0x7ff3c808, length = 0x200) = 0x200
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d466c: ql_syscall_close()
[+]	0x047d466c: close(fd = 0x3) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/lib", 0x7ff3c730) write completed
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/tls/i686/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/tls/i686/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/tls/i686/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/tls/i686/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/tls/i686/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/tls/i686/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/tls/i686/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/tls/i686/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/tls/i686/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/tls/i686/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/tls/i686/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/tls/i686", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/tls/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/tls/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/tls/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/tls/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/tls/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/tls/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/tls/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/tls/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/tls/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/tls/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/tls/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/tls", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/i686/neon/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/i686/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/i686/neon/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/i686/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/i686/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/i686/neon", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/i686/vfp/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/i686/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/i686/vfp", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/i686/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/i686/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/i686", 0x7ff3c730) read/write fail
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/neon/vfp/libpthread.so.0, 0o0) = 3
[+]	File found: /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/neon/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = 0x3
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ec: ql_syscall_read()
[+]	read() CONTENT: b'\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00(\x00\x01\x00\x00\x00\xf8\x06\x00\x004\x00\x00\x00\x101\x00\x00\x00\x02\x00\x054\x00 \x00\x06\x00(\x00\x19\x00\x18\x00\x01\x00\x00p\x98\x1f\x00\x00\x98\x1f\x00\x00\x98\x1f\x00\x00\xf0\x00\x00\x00\xf0\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88!\x00\x00\x88!\x00\x00\x05\x00\x00\x00\x00\x80\x00\x00\x01\x00\x00\x00\x98.\x00\x00\x98\xae\x00\x00\x98\xae\x00\x00l\x01\x00\x00p\x01\x00\x00\x06\x00\x00\x00\x00\x80\x00\x00\x02\x00\x00\x00\xa0.\x00\x00\xa0\xae\x00\x00\xa0\xae\x00\x00\x10\x01\x00\x00\x10\x01\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00Q\xe5td\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x10\x00\x00\x00R\xe5td\x98.\x00\x00\x98\xae\x00\x00\x98\xae\x00\x00h\x01\x00\x00h\x01\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00GNU\x00\x00\x00\x00\x00\x05\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\r\x00\x00\x00\x04\x00\x00\x00\x07\x00\x00\x00\x00\x03\x04\x08\x00\x00\x00\x00\x80A\x02\n\x00\x80\x02\x00\r\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xc7\xf8\xf3\xc3\xc9\xf8\xf3\xc3\t\xf9\xf3\xc3\t\xf9\xf3\xc3\xef\xf8\xf3\xc3\xd9=l\xf6\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x89\xddv\x16\xcf\xf8\xf3\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x03\x00\x15\x00F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00'
[+]	0x047d44ec: read(fd = 0x3, buf = 0x7ff3c808, length = 0x200) = 0x200
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d466c: ql_syscall_close()
[+]	0x047d466c: close(fd = 0x3) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/neon/vfp", 0x7ff3c730) write completed
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/neon/libpthread.so.0, 0o0) = -2
[+]	File not found /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/neon/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = -0x2 (ENOENT)
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/neon", 0x7ff3c730) write completed
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/vfp/libpthread.so.0, 0o0) = 3
[+]	File found: /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/vfp/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = 0x3
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ec: ql_syscall_read()
[+]	read() CONTENT: b'\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00(\x00\x01\x00\x00\x00\xf8\x06\x00\x004\x00\x00\x00\x101\x00\x00\x00\x02\x00\x054\x00 \x00\x06\x00(\x00\x19\x00\x18\x00\x01\x00\x00p\x98\x1f\x00\x00\x98\x1f\x00\x00\x98\x1f\x00\x00\xf0\x00\x00\x00\xf0\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88!\x00\x00\x88!\x00\x00\x05\x00\x00\x00\x00\x80\x00\x00\x01\x00\x00\x00\x98.\x00\x00\x98\xae\x00\x00\x98\xae\x00\x00l\x01\x00\x00p\x01\x00\x00\x06\x00\x00\x00\x00\x80\x00\x00\x02\x00\x00\x00\xa0.\x00\x00\xa0\xae\x00\x00\xa0\xae\x00\x00\x10\x01\x00\x00\x10\x01\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00Q\xe5td\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x10\x00\x00\x00R\xe5td\x98.\x00\x00\x98\xae\x00\x00\x98\xae\x00\x00h\x01\x00\x00h\x01\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00GNU\x00\x00\x00\x00\x00\x05\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\r\x00\x00\x00\x04\x00\x00\x00\x07\x00\x00\x00\x00\x03\x04\x08\x00\x00\x00\x00\x80A\x02\n\x00\x80\x02\x00\r\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xc7\xf8\xf3\xc3\xc9\xf8\xf3\xc3\t\xf9\xf3\xc3\t\xf9\xf3\xc3\xef\xf8\xf3\xc3\xd9=l\xf6\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x89\xddv\x16\xcf\xf8\xf3\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x03\x00\x15\x00F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00'
[+]	0x047d44ec: read(fd = 0x3, buf = 0x7ff3c808, length = 0x200) = 0x200
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d466c: ql_syscall_close()
[+]	0x047d466c: close(fd = 0x3) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib/vfp", 0x7ff3c730) write completed
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ac: ql_syscall_open()
[+]	open(/usr/lib/libpthread.so.0, 0o0) = 3
[+]	File found: /home/hei/Desktop/qiling/examples/mycode/../rootfs/myrootfs/usr/lib/libpthread.so.0
[+]	0x047d44ac: open(filename = 0x7ff3c690, flags = 0x80000, mode = 0x47eb960) = 0x3
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d44ec: ql_syscall_read()
[+]	read() CONTENT: b'\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00(\x00\x01\x00\x00\x00\xf8\x06\x00\x004\x00\x00\x00\x101\x00\x00\x00\x02\x00\x054\x00 \x00\x06\x00(\x00\x19\x00\x18\x00\x01\x00\x00p\x98\x1f\x00\x00\x98\x1f\x00\x00\x98\x1f\x00\x00\xf0\x00\x00\x00\xf0\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88!\x00\x00\x88!\x00\x00\x05\x00\x00\x00\x00\x80\x00\x00\x01\x00\x00\x00\x98.\x00\x00\x98\xae\x00\x00\x98\xae\x00\x00l\x01\x00\x00p\x01\x00\x00\x06\x00\x00\x00\x00\x80\x00\x00\x02\x00\x00\x00\xa0.\x00\x00\xa0\xae\x00\x00\xa0\xae\x00\x00\x10\x01\x00\x00\x10\x01\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00Q\xe5td\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x10\x00\x00\x00R\xe5td\x98.\x00\x00\x98\xae\x00\x00\x98\xae\x00\x00h\x01\x00\x00h\x01\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00GNU\x00\x00\x00\x00\x00\x05\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\r\x00\x00\x00\x04\x00\x00\x00\x07\x00\x00\x00\x00\x03\x04\x08\x00\x00\x00\x00\x80A\x02\n\x00\x80\x02\x00\r\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xc7\xf8\xf3\xc3\xc9\xf8\xf3\xc3\t\xf9\xf3\xc3\t\xf9\xf3\xc3\xef\xf8\xf3\xc3\xd9=l\xf6\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x88\xddv\x16\x89\xddv\x16\xcf\xf8\xf3\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x03\x00\x01\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x00\x03\x00\x15\x00F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x00'
[+]	0x047d44ec: read(fd = 0x3, buf = 0x7ff3c808, length = 0x200) = 0x200
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d466c: ql_syscall_close()
[+]	0x047d466c: close(fd = 0x3) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d43dc: ql_syscall_stat64()
[+]	stat64("/usr/lib", 0x7ff3c730) write completed
[+]	0x047d43dc: stat64(path = 0x7ff3c690, buf_ptr = 0x7ff3c730) = 0x0
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47cb96c: ql_syscall_writev()
[+]	writev() CONTENT:
[+]	'armbsp'
armbsp[+]	': '
: [+]	'error while loading shared libraries'
error while loading shared libraries[+]	': '
: [+]	'libpthread.so.0'
libpthread.so.0[+]	': '
: [+]	'cannot open shared object file'
cannot open shared object file[+]	': '
: [+]	'No such file or directory'
No such file or directory[+]	'\n'

[+]	0x047cb96c: writev(fd = 0x2, vec = 0x7ff3c560, vlen = 0xa) = 0x79
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x47d47d4: ql_syscall_exit_group()
[+]	0x047d47d4: exit_group(code = 0x7f) = ?
[x]	CPU Context:
[x]	r0	: 0x28ac
[x]	r1	: 0x2
[x]	r2	: 0x7ff3c7a0
[x]	r3	: 0x0
[x]	r4	: 0x7ff3cff8
[x]	r5	: 0x7ff3cbc8
[x]	r6	: 0x47d9048
[x]	r7	: 0xf8
[x]	r8	: 0x7ff3cbe0
[x]	r9	: 0x47d89bc
[x]	r10	: 0x5656ce7c
[x]	r11	: 0x0
[x]	r12	: 0x5656cef4
[x]	sp	: 0x7ff3c794
[x]	lr	: 0x565579cc
[x]	pc	: 0x2544
[x]	f0	: 0x0
[x]	f1	: 0x0
[x]	f2	: 0x0
[x]	f3	: 0x0
[x]	f4	: 0x0
[x]	f5	: 0x0
[x]	f6	: 0x0
[x]	f7	: 0x0
[x]	fps	: 0x0
[x]	cpsr	: 0x600001d3
[x]	c1_c0_2	: 0x0
[x]	c13_c0_3	: 0x0
[x]	fpexc	: 0x40000000
[x]	PC = 0x00002544 (unreachable)

[=]	Memory map:
[=]	Start      End        Perm    Label          Image
[=]	047ba000 - 047ec000   rwx     /home/hei/Desktop/qiling/examples/rootfs/myrootfs/lib/ld-linux.so.3   
[=]	56555000 - 56565000   r-x     armbsp         armbsp
[=]	5656c000 - 5656f000   rw-     armbsp         armbsp
[=]	5656f000 - 56571000   rwx     [hook_mem]     
[=]	774bf000 - 774c2000   rw-     [syscall_mmap2]   
[=]	7ff0d000 - 7ff3d000   rwx     [stack]        
[=]	ffff0000 - ffff1000   rwx     [arm_tls]      
Traceback (most recent call last):
  File "armbsp_test.py", line 38, in <module>
    ql.run()
  File "/usr/local/lib/python3.8/dist-packages/qiling-1.4.2-py3.8.egg/qiling/core.py", line 730, in run
    self.os.run()
  File "/usr/local/lib/python3.8/dist-packages/qiling-1.4.2-py3.8.egg/qiling/os/linux/linux.py", line 149, in run
    self.ql.emu_start(self.ql.loader.elf_entry, self.exit_point, self.ql.timeout, self.ql.count)
  File "/usr/local/lib/python3.8/dist-packages/qiling-1.4.2-py3.8.egg/qiling/core.py", line 880, in emu_start
    self.uc.emu_start(begin, end, timeout, count)
  File "/home/hei/.local/lib/python3.8/site-packages/unicorn/unicorn.py", line 525, in emu_start
    raise UcError(status)
unicorn.unicorn.UcError: Invalid memory fetch (UC_ERR_FETCH_UNMAPPED)

It seems that qiling have found the libpthread.so.0 but outputs 'cannot open shared object file' and doesn't load the libpthread.so.0 Why is this happening?

z0xi avatar Jul 12 '22 03:07 z0xi

run, just to make sure you got the right one?

$  file /home/hei/Desktop/qiling/examples/rootfs/arm_linux/lib/ld-linux.so.3 

xwings avatar Jul 12 '22 07:07 xwings

ld-linux.so.3 is the default ld in rootfs ld-linux.so.3: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=97ea942b1c123793352877a2fdb1197465de7fd7, stripped

I have also use my ld-linux.so.3, It outputs ld-linux.so.3: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, stripped [x] Syscall ERROR: ql_syscall_mmap2 DEBUG: Error: mapping needed but failed

z0xi avatar Jul 12 '22 07:07 z0xi

I also try to emulate a ARM64 little endian binary. The library needs

hei@hei-VirtualBox:~/Desktop/qiling/examples/mycode$ readelf -d c_framework

Dynamic section at offset 0x17ab8 contains 32 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-aarch64.so.1]

I firstly put libdl.so.2 libc.so.6 and ld-linux-aarch64.so.1 in a folder as my rootfs It also outputs

[+]	'c_framework'
c_framework[+]	': '
: [+]	'error while loading shared libraries'
error while loading shared libraries[+]	': '
: [+]	'libdl.so.2'
libdl.so.2[+]	': '
: [+]	'cannot stat shared object'
cannot stat shared object[+]	': '
: [+]	'Operation not permitted'
Operation not permitted[+]	'\n'

[+]	0x00007ffff7de6be8: writev(fd = 0x2, vec = 0x80000000cbc0, vlen = 0xa) = 0x72
[+]	Received interrupt: 0x2
[+]	syscall hooked 0x7ffff7df4648: ql_syscall_exit_group()
[+]	0x00007ffff7df4648: exit_group(code = 0x7f) = ?
[x]	CPU Context:
[x]	x0	: 0x2bec
[x]	x1	: 0x80000000d0d0
[x]	x2	: 0x80000000cfc8
[x]	x3	: 0x15440
[x]	x4	: 0x154c0
[x]	x5	: 0x7f
[x]	x6	: 0x80000000cfc0
[x]	x7	: 0x7ffff7dfacbb
[x]	x8	: 0x5e
[x]	x9	: 0x20
[x]	x10	: 0x80000000d0d0
[x]	x11	: 0x80000000d0d0
[x]	x12	: 0x80000000d090
[x]	x13	: 0x7463656a626f20
[x]	x14	: 0x1
[x]	x15	: 0x0
[x]	x16	: 0x55555557bdd8
[x]	x17	: 0x1b70
[x]	x18	: 0x1
[x]	x19	: 0x7ffff7dfaac8
[x]	x20	: 0x80000000dff0
[x]	x21	: 0x7ffff7dfac80
[x]	x22	: 0x7ffff7e139ea
[x]	x23	: 0x7ffff7dfaac8
[x]	x24	: 0x7ffff7e139d0
[x]	x25	: 0x7ffff7e13290
[x]	x26	: 0x0
[x]	x27	: 0x7ffff7e13a00
[x]	x28	: 0x5f454c49464f5250
[x]	x29	: 0x0
[x]	x30	: 0x555555556094
[x]	sp	: 0x80000000cfc0
[x]	pc	: 0x1b70
[x]	lr	: 0x555555556094
[x]	cpacr_el1	: 0x300000
[x]	tpidr_el0	: 0x0
[x]	w0	: 0x2bec
[x]	w1	: 0xd0d0
[x]	w2	: 0xcfc8
[x]	w3	: 0x15440
[x]	w4	: 0x154c0
[x]	w5	: 0x7f
[x]	w6	: 0xcfc0
[x]	w7	: 0xf7dfacbb
[x]	w8	: 0x5e
[x]	w9	: 0x20
[x]	w10	: 0xd0d0
[x]	w11	: 0xd0d0
[x]	w12	: 0xd090
[x]	w13	: 0x6a626f20
[x]	w14	: 0x1
[x]	w15	: 0x0
[x]	w16	: 0x5557bdd8
[x]	w17	: 0x1b70
[x]	w18	: 0x1
[x]	w19	: 0xf7dfaac8
[x]	w20	: 0xdff0
[x]	w21	: 0xf7dfac80
[x]	w22	: 0xf7e139ea
[x]	w23	: 0xf7dfaac8
[x]	w24	: 0xf7e139d0
[x]	w25	: 0xf7e13290
[x]	w26	: 0x0
[x]	w27	: 0xf7e13a00
[x]	w28	: 0x464f5250
[x]	w29	: 0x0
[x]	w30	: 0x55556094
[x]	PC = 0x0000000000001b70 (unreachable)

[=]	Memory map:
[=]	Start      End        Perm    Label          Image
[=]	555555554000 - 55555556c000   r-x     c_framework    c_framework
[=]	55555557b000 - 555555595000   rw-     c_framework    c_framework
[=]	555555595000 - 555555597000   rwx     [hook_mem]     
[=]	7ffff7dd5000 - 7ffff7e14000   rwx     /home/hei/Desktop/qiling/examples/rootfs/arm64_linux/lib64/ld-linux-aarch64.so.1   
[=]	7ffffffde000 - 80000000e000   rwx     [stack]        
Traceback (most recent call last):
  File "c_framework_test.py", line 38, in <module>
    ql.run()
  File "/usr/local/lib/python3.8/dist-packages/qiling-1.4.2-py3.8.egg/qiling/core.py", line 730, in run
    self.os.run()
  File "/usr/local/lib/python3.8/dist-packages/qiling-1.4.2-py3.8.egg/qiling/os/linux/linux.py", line 149, in run
    self.ql.emu_start(self.ql.loader.elf_entry, self.exit_point, self.ql.timeout, self.ql.count)
  File "/usr/local/lib/python3.8/dist-packages/qiling-1.4.2-py3.8.egg/qiling/core.py", line 880, in emu_start
    self.uc.emu_start(begin, end, timeout, count)
  File "/home/hei/.local/lib/python3.8/site-packages/unicorn/unicorn.py", line 525, in emu_start
    raise UcError(status)
unicorn.unicorn.UcError: Invalid memory fetch (UC_ERR_FETCH_UNMAPPED)

It can't load the library as well.

z0xi avatar Jul 13 '22 03:07 z0xi

you need to ensure the library exists . As for the Invalid memory fetch error, you should find out the instruction that causes this error.

newthis avatar Jul 13 '22 05:07 newthis

hei@hei-VirtualBox:~/Desktop/qiling/examples/rootfs/arm64_linux/lib64$ ls
ld-linux-aarch64.so.1  libc.so.6  libdl.so.2

The library is existing. And I guess the invalid memory(PC is unreachable) is caused by the unloaded library. But it can't load the library well.

z0xi avatar Jul 13 '22 06:07 z0xi

Close for now.

We updated the codebase for Qiling and Unicorn since this issue being posted.

Feel free to try the latest version.

xwings avatar Oct 06 '22 03:10 xwings