我已经按照official page安装指南安装了frida,并从他们的github发布页面下载了frida-server-16.1.5-android-x86_64,放在我的android 9.0vm的**/data/local/tmp/目录下(x86_64 VM通过virt-manager运行)。即使在以root身份运行frida-server**并运行此示例脚本以尝试附加到进程之后,我仍然会遇到此错误。
import frida
def on_message(message, _data):
if message['type'] == 'send':
print(f"Syscall: {message['payload']}")
def trace_syscalls(target_process):
session = frida.attach(target_process)
session.on('message', on_message)
session.detach()
if __name__ == '__main__':
target_process = 17772
# target_process = 'owasp.mstg.uncrackable2'
# target_process = 'Uncrackable Level 2'
trace_syscalls(target_process)
字符串
我确信进程名和pid都是正确的。
frida.ProcessNotFoundError:找不到pid为17772的进程
当我尝试使用PID或
frida.ProcessNotFoundError:无法找到名称为“owasp.mstg.uncrackable2”的进程
frida.ProcessNotFoundError:无法找到名称为'Uncrackable Level 2'的进程
当我尝试使用进程名(从frida-ps -Ua
返回)时,frida-trace -U -N owasp.mstg.uncrackable2
的输出:
$ frida-trace -U -N owasp.mstg.uncrackable2
Started tracing 0 functions. Press Ctrl+C to stop.
Process terminated
型
输出什么,即使当我使用该应用程序,它仍然是这样,直到我关闭该过程.也只有这个Android设备通过亚行连接.
pip提供的frida-tools软件包的版本号是12.3.0,是pip提供的最新版本。而frida-server的版本号是16.1.5,是他们git repo提供的最新版本。是什么原因导致了这个问题,以及如何解决这个问题?提前感谢。
1条答案
按热度按时间c7rzv4ha1#
问题是你的Python代码。你直接调用
frida.attach(target_process)
。Frida怎么知道要挂接的进程在VM内部运行?通过这个调用,Frida将尝试通过它在主机上的pid而不是在VM内部找到进程,因为这不起作用,你得到了frida.ProcessNotFoundError
。你首先要建立连接到虚拟机.因为它是一个虚拟的Android设备与adb支持的VM像USB设备工作.因此,这段代码将帮助您挂钩的Android应用程序:
字符串