欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

搭建frida+木木模拟器运行环境

程序员文章站 2024-03-24 14:04:04
...

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 即可.
    搭建frida+木木模拟器运行环境
  • pip install frida-tools
    安装完成后frida后,再pip安装frida-tools

安装木木模拟器

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

开启模拟器的root权限

搭建frida+木木模拟器运行环境
搭建frida+木木模拟器运行环境

打开模拟器USB调试

在开发者选项中。
搭建frida+木木模拟器运行环境

安装RE文件管理器

直接搜索进行下载,下载后打开给予root权限
搭建frida+木木模拟器运行环境
然后现在就可以去下载frida的服务端了.


下载frida服务端-Android

下载frida-server文件

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

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

移动文件到tmp下

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


使用adb连接mumu模拟器

先找到模拟器的安装目录,然后进入 emulator\nemu\vmonitor\bin目录
搭建frida+木木模拟器运行环境
因为是win10环境,所以是 adb_server.exe 文件.
在此处打开cmd,输入连接命令: .\adb_server.exe connect 127.0.0.1:7555
然后输入 .\adb_server.exe shell 进入交互界面
搭建frida+木木模拟器运行环境

设置frida-server权限并启动

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

chmod 777 frida-server

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

./frida-server

搭建frida+木木模拟器运行环境

查看是否启动成功

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

frida-ps -U

搭建frida+木木模拟器运行环境
查看当前运行的进程. 有输出则说明启动成功.

如果需要进行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()

搭建frida+木木模拟器运行环境


相关标签: 反编译