搭建Frida+木木模拟器环境

pip安装frida

本机环境win10 (AMD64)、python3.6.4

  • pip install frida

    如果报错: ERROR: Command errored out with exit status 1
    解决方法: 安装Wordcloud.whl文件,下载地址:

    https://www.lfd.uci.edu/~gohlke/pythonlibs/

    找到对应自己的版本.下载后 pip install wordcloud....whl 即可.
    在这里插入图片描述

  • pip install frida-tools
    安装完成后frida后,再pip安装frida-tools

    • -

      安装木木模拟器

      直接去官网下载. http://mumu.163.com/
      此过程省略...... 下载后首先:

      开启模拟器的root权限

      在这里插入图片描述
      在这里插入图片描述

      打开模拟器USB调试

      在开发者选项中。
      在这里插入图片描述

      安装RE文件管理器

      直接搜索进行下载,下载后打开给予root权限
      在这里插入图片描述
      然后现在就可以去下载frida的服务端了.

    • -

下载frida服务端-Android

下载frida-server文件

https://github.com/frida/frida/releases 下载相应的版本

这里是给木木模拟器安装Android版本,所以下载下面这个:
frida-server-12.8.20-android-x86.xz

移动文件到tmp下

下载完成之后,如果你使用的本地下载,则把这个文件放入木木共享文件夹中解压,重命名为 frida-server
在这里插入图片描述
然后打开 RE文件管理器,使用全局搜索,找到这个文件的位置.
在这里插入图片描述
接着把 frida-server文件复制到 /data/local/tmp 目录下.
在这里插入图片描述
复制后就可以先停一下,先进行下面的操作


使用adb连接mumu模拟器

先找到模拟器的安装目录,然后进入 emulator\nemu\vmonitor\bin目录
在这里插入图片描述
因为是win10环境,所以是 adb_server.exe 文件.
在此处打开cmd,输入连接命令: .\adb_server.exe connect 127.0.0.1:7555
然后输入 .\adb_server.exe shell 进入交互界面
在这里插入图片描述

设置frida-server权限并启动

进入adb shell后, cd 到 /data/local/tmp 目录.
然后设置frida-server的权限

chmod 777 frida-server

给予了可执行权限之后, 输入下面的命令来启动它:

./frida-server

在这里插入图片描述

查看是否启动成功

重新打开一个cmd窗口, 执行下面的命令 :

frida-ps -U

在这里插入图片描述
查看当前运行的进程. 有输出则说明启动成功.

如果需要进行debug的话,将手机端的端口转发到PC端进行通信

.\adb_server.exe forward tcp:27042 tcp:27042
.\adb_server.exe forward tcp:27043 tcp:27043

使用python调用

简单测试:

import frida
import sys

#获取设备信息
rdev = frida.get_remote_device()

#获取在前台运行的APP
front_app = rdev.get_frontmost_application()
print (front_app)

你在模拟器上运行一个微信。

weixin = "com.tencent.mm"
# 枚举进程中加载指定模块中的导出函数
session = rdev.attach(weixin)   # 也可以使用attach(pid)的方式
# 我找了半天,老版本的enumerateModules方法没了,现在只能通过js入口
jscode = """
    Process.enumerateModules({
          onMatch:function(exp){
        send(exp.name);
      },
          onComplete:function(){
        send("stop");
      }
})
"""
script = session.create_script(jscode)
def on_message(message, data):
    print(message)
script.on('message', on_message)
script.load()
sys.stdin.read()

在这里插入图片描述


点赞

发表回复