python firda hook配置

一、firda 安装

pip install firda -i http://pypi.douban.com/simple/ 
pip install frida-tools -i http://pypi.douban.com/simple/ 

二、安装木木模拟器

官网: http://mumu.163.com/
开启root
在这里插入图片描述
在这里插入图片描述
打开模拟器USB调试
在开发者选项中。

在这里插入图片描述
安装RE文件管理器
直接搜索进行下载,下载后打开给予root权限

在这里插入图片描述

下载frida服务端-Android

下载frida-server文件
到 https://github.com/frida/frida/releases 下载相应的版本(版本一定对应firda版本)
移动文件到tmp下
下载完成之后,如果你使用的本地下载,则把这个文件放入木木共享文件夹中解压,重命名为 frida-server

**
**
然后打开 RE文件管理器,使用全局搜索,找到这个文件的位置.
在这里插入图片描述
接着把 frida-server文件复制到 /data/local/tmp 目录下.
在这里插入图片描述

使用adb连接mumu模拟器

先找到模拟器的安装目录,然后进入 emulator\nemu\vmonitor\bin目录
在这里插入图片描述

配置adb
将adb_server.exe 重命名为adb.exe
配置全局变量
在这里插入图片描述
1、打开cmd,输入 adb connect 127.0.0.1:7555
2、adb shell 进入交互环境
3、cd /data/local/tmp
4、chmod 777 frida-server 设置权限
5、./frida-server 启动服务
6、adb forward tcp:27042 tcp:27042 开放访问端口
7、打开新cmd,输入frida-ps -U,有信息则服务启动成功

python调试

import frida
import sys

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

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

案例

import frida
rdev = frida.get_remote_device()
#获取在前台运行的APP
front_app = rdev.get_frontmost_application()
print (front_app)
import re
res = re.findall(r"pid=(.*?),",str(front_app))
# 枚举进程中加载指定模块中的导出函数
session = rdev.attach(int(res[0]))   # 也可以使用attach(pid)的方式
jscode = """
Java.perform(function(){
    var temp = Java.use('com.xunyou.libservice.server.impl.ServerApi');
    var ServerParams = Java.use('com.xunyou.libservice.server.impl.ServerParams');
        temp.e.overload('org.json.JSONObject').implementation = function(a){
            var result = this.e(a);  
            send(hasmap_parse(result));
            return result;
            }

    function hasmap_parse(result){
     var test = result.toString();
            var keyset = result.keySet();
            var it = keyset.iterator();
            while(it.hasNext()){
                var keystr = it.next().toString();
                var valuestr = result.get(keystr).toString();
                test +=keystr+":"+ valuestr+";";
            }
        
        return test;
    }
});
"""

script = session.create_script(jscode)
def on_message(message, data):
    print(message)
script.on('message', on_message)
script.load()
sys.stdin.read()

脱壳

使用frida_dexdump 强制脱壳,可脱壳已加固
下载地址

使用
在模拟器上运行app后,执行 python main.py
脱壳后的文件将保存到当前目录
在这里插入图片描述

查看

使用jadx-gui查看源代码(拖进去即可)
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值