參考資訊:
https://github.com/frida/frida
https://frida.re/docs/functions/
https://frida.re/docs/installation/
hook.py
import os import frida os.system('sleep 3&') session = frida.attach("sleep") script = session.create_script(""" rpc.exports.enumerateModules = () => { return Process.enumerateModules(); }; """) script.load() for m in script.exports.enumerate_modules(): print(m)
編譯、執行
$ python3 ./hook.py {'name': 'sleep', 'base': '0x555a4726a000', 'size': 41920, 'path': '/usr/bin/sleep'} {'name': 'linux-vdso.so.1', 'base': '0x7ffcdefa3000', 'size': 3421, 'path': 'linux-vdso.so.1'} {'name': 'libc.so.6', 'base': '0x7ff12a282000', 'size': 1970000, 'path': '/usr/lib/x86_64-linux-gnu/libc.so.6'} {'name': 'ld-linux-x86-64.so.2', 'base': '0x7ff12a499000', 'size': 213720, 'path': '/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2'} {'name': 'libdl.so.2', 'base': '0x7ff12a480000', 'size': 16400, 'path': '/usr/lib/x86_64-linux-gnu/libdl.so.2'} {'name': 'librt.so.1', 'base': '0x7ff12a47b000', 'size': 16416, 'path': '/usr/lib/x86_64-linux-gnu/librt.so.1'} {'name': 'libm.so.6', 'base': '0x7ff12a16b000', 'size': 913680, 'path': '/usr/lib/x86_64-linux-gnu/libm.so.6'} {'name': 'libpthread.so.0', 'base': '0x7ff12a476000', 'size': 16400, 'path': '/usr/lib/x86_64-linux-gnu/libpthread.so.0'}