-----------------------------------------------------------------

[*] Initial strace run with jchroot on the command ./usr/html/axis-cgi/clientnotes/getkeys.cgi to identify missing areas

[*] Emulating binary name: getkeys.cgi in strace mode to identify missing areas (with jchroot)
[*] Emulator used: qemu-arm-static
[*] Chroot environment used: jchroot
[*] Using root directory: /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract (1/2)
[*] Using CPU config: 

1 brk(NULL) = 0x4001200c
1 uname(0x3ff1d870) = 0
1 access("/etc/ld.so.preload",R_OK) = 0
1 openat(AT_FDCWD,"/etc/ld.so.preload",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1d840) = 0
1 mmap2(NULL,19,PROT_READ|PROT_WRITE,MAP_PRIVATE,3,0) = 0x3f7cf000
1 close(3) = 0
1 munmap(0x3f7cf000,19) = 0
1 openat(AT_FDCWD,"/etc/ld.so.cache",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/vfp/libglib-utils.so",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ff1d180,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1cec8) = 0
1 mmap2(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f7ce000
1 mmap2(NULL,87636,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x3f7b8000
1 mprotect(0x3f7bb000,61440,PROT_NONE) = 0
1 mmap2(0x3f7ca000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x2) = 0x3f7ca000
1 mmap2(0x3f7cc000,5716,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x3f7cc000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/vfp/libaxlog.so",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ff1d170,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ceb8) = 0
1 mmap2(NULL,73752,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x3f7a5000
1 mprotect(0x3f7a7000,61440,PROT_NONE) = 0
1 mmap2(0x3f7b6000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x1) = 0x3f7b6000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/vfp/libgthread-2.0.so.0",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ff1d160,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1cea8) = 0
1 mmap2(NULL,69640,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x3f793000
1 mprotect(0x3f794000,61440,PROT_NONE) = 0
1 mmap2(0x3f7a3000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0) = 0x3f7a3000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/vfp/libglib-2.0.so.0",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ff1d150,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ce98) = 0
1 mmap2(NULL,965448,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x3f6a7000
1 mprotect(0x3f781000,65536,PROT_NONE) = 0
1 mmap2(0x3f791000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xda) = 0x3f791000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/vfp/libcgihelper.so",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/libcgihelper.so",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib/tls/v8l/neon",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ce90) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/vfp/libcgihelper.so",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib/tls/v8l/vfp",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ce90) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/libcgihelper.so",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 errno=2 (No such file or directory)
1 statx(AT_FDCWD,"/usr/lib/tls/v8l",AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ce90) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/neon/vfp/libcgihelper.so",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ff1d140,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ce88) = 0
1 mmap2(NULL,73736,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x3f694000
1 mprotect(0x3f696000,61440,PROT_NONE) = 0
1 mmap2(0x3f6a5000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x1) = 0x3f6a5000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/vfp/libjansson.so.4",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ff1d130,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ce78) = 0
1 mmap2(NULL,102448,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x3f67a000
1 mprotect(0x3f682000,65536,PROT_NONE) = 0
1 mmap2(0x3f692000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x8) = 0x3f692000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/vfp/libc.so.6",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ff1d120,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ce68) = 0
1 mmap2(NULL,1148532,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x3f561000
1 mprotect(0x3f65e000,61440,PROT_NONE) = 0
1 mmap2(0x3f66d000,16384,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xfc) = 0x3f66d000
1 mmap2(0x3f671000,34420,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x3f671000
1 close(3) = 0
1 openat(AT_FDCWD,"/usr/lib/tls/v8l/neon/vfp/libpcre.so.1",O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
1 read(3,0x3ff1d100,512) = 512
1 statx(3,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1ce48) = 0
1 mmap2(NULL,389196,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x3f501000
1 mprotect(0x3f54f000,65536,PROT_NONE) = 0
1 mmap2(0x3f55f000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x4e) = 0x3f55f000
1 close(3) = 0
1 mmap2(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x3f4ff000
1 set_tid_address(0x3f4ff078) = 1
1 set_robust_list(0x3f4ff080,12) = -1 errno=38 (Function not implemented)
1 mprotect(0x3f66d000,8192,PROT_READ) = 0
1 mprotect(0x3f55f000,4096,PROT_READ) = 0
1 mprotect(0x3f692000,4096,PROT_READ) = 0
1 mprotect(0x3f791000,4096,PROT_READ) = 0
1 mprotect(0x3f6a5000,4096,PROT_READ) = 0
1 mprotect(0x3f7a3000,4096,PROT_READ) = 0
1 mprotect(0x3f7b6000,4096,PROT_READ) = 0
1 mprotect(0x3f7ca000,4096,PROT_READ) = 0
1 mprotect(0x40011000,4096,PROT_READ) = 0
1 mprotect(0x3f7fd000,4096,PROT_READ) = 0
1 ugetrlimit(3,1072814600,1063728436,1063753138,1,1063710308) = 0
1 brk(NULL) = 0x4001200c
1 brk(0x4003300c) = 0x4003300c
1 brk(0x40034000) = 0x40034000
1 clock_gettime64(CLOCK_REALTIME,0x3ff1dbd8) = 0 ({tv_sec=1690035506,tv_nsec=790900684})
1 statx(1,"",AT_EMPTY_PATH|AT_NO_AUTOMOUNT,STATX_BASIC_STATS,0x3ff1d430) = 0
1 write(1,0x40015808,32)Content-Type: application/json
 = 32
1 write(1,0x40015808,20)Content-Length: 13
 = 20
1 write(1,0x40015808,2)
 = 2
1 write(1,0x40015808,13){"Status": 1} = 13
1 exit_group(0)

[*] Identification of missing filesytem areas.
[*] Found missing area: /etc/ld.so.cache
[*] Trying to identify this missing file: ld.so.cache
[*] Missing file /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/etc/ld.so.cache
[*] Found missing area: /usr/lib/tls/v8l/libcgihelper.so
[*] Trying to identify this missing file: libcgihelper.so
[*] Possible matching file found: /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcgihelper.so
[*] Copy file /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcgihelper.so to /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/tls/v8l/
[*] Found missing area: /usr/lib/tls/v8l/neon/libcgihelper.so
[*] Trying to identify this missing file: libcgihelper.so
[*] Possible matching file found: /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcgihelper.so
[*] Copy file /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcgihelper.so to /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/tls/v8l/neon/
[*] Found missing area: /usr/lib/tls/v8l/neon/vfp/libcgihelper.so
[*] Trying to identify this missing file: libcgihelper.so
[*] Possible matching file found: /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcgihelper.so
[*] Copy file /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcgihelper.so to /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/tls/v8l/neon/vfp/
[*] Found missing area: /usr/lib/tls/v8l/vfp/libcgihelper.so
[*] Trying to identify this missing file: libcgihelper.so
[*] Possible matching file found: /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcgihelper.so
[*] Copy file /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libcgihelper.so to /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/tls/v8l/vfp/

-----------------------------------------------------------------