#!/usr/bin/python3 import sys if len(sys.argv) != 2: raise Exception('wrong number of arguments in fake_ldd') if sys.argv[1] in ['/AATest/bin/bash', '/bin/bash', '/usr/bin/bash']: print(' linux-vdso.so.1 (0x00007ffcf97f4000)') print(' libreadline.so.6 => /AATest/lib64/libreadline.so.6 (0x00007f2c41324000)') print(' libtinfo.so.6 => /AATest/lib64/libtinfo.so.6 (0x00007f2c410f9000)') print(' libdl.so.2 => /AATest/lib64/libdl.so.2 (0x00007f2c40ef5000)') print(' libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f2c40b50000)') print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x000055782c473000)') elif sys.argv[1] == '/AATest/lib64/ld-2.22.so': print(' linux-vdso.so.1 (0x00007ffcf97f4000)') elif sys.argv[1] == '/AATest/lib64/libc-2.22.so': print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x0000556858473000)') print(' linux-vdso.so.1 (0x00007ffe98912000)') elif sys.argv[1] == '/AATest/lib64/libdl.so.2': print(' linux-vdso.so.1 (0x00007ffec2538000)') print(' libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f8865346000)') print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x0000560c3bcee000)') elif sys.argv[1] == '/AATest/lib64/libtinfo.so.6': print(' linux-vdso.so.1 (0x00007fff30518000)') print(' libc.so.6 => /AATest/lib64/libc.so.6 (0x00007fb6f2ea3000)') print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x00005631fe8d3000)') elif sys.argv[1] == '/AATest/lib64/libreadline.so.6': print(' linux-vdso.so.1 (0x00007ffcb5b62000)') print(' libtinfo.so.6 => /AATest/lib64/libtinfo.so.6 (0x00007f2a4ed07000)') print(' libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f2a4e961000)') print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x000055f749c89000)') elif sys.argv[1] == '/AATest/lib64/ld-linux-x86-64.so.2': print(' statically linked') elif sys.argv[1] == '/AATest/lib64/libc.so.6': print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x000055b65f7a9000)') print(' linux-vdso.so.1 (0x00007ffde132b000)') elif sys.argv[1] == '/AATest/sbin/ldconfig': print(' not a dynamic executable') sys.exit(1) # ldd exits with $? == 1 in this case elif sys.argv[1].startswith('/tmp/aa-test-'): # test file generated by test-aa.py print(' not a dynamic executable') elif sys.argv[1] == 'TEMPLATE': print('') print('') print('') else: raise Exception('unknown parameter in fake_ldd: %s' % sys.argv[1])