HOOK的步骤

1.安装frida

pip install   frida
pip install  frida-tools

2.在手机上安装frida-server服务

备注:最好与frida的版本一致

3.将frida-server解压后,push到手机的 data/local/tmp路径下

  • 给frida-server加上最高权限:
    • cd 到 data/local/tmp 目录
    • chmod 777 frida-server

4.进行端口的转发

adb forward tcp:27042  tcp:27042
adb forward tcp:27043  tcp:27043

5.启动frida-server

  • cd data/local/tmp 进入该目录
  • ./frida-server (该步骤就启动server了)

6.python的编写

#通过frida模块,编写一个小工具,可以获取当前运行的app
import frida

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

#获取所有的进程,可以看到当前设备的所有app
pros = rdev.enumerate_processes()
for pro in pros:
    print(pro)

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

7.通过包名,编写HOOK代码

import sys

import frida

#获取设备信息
rdev = frida.get_remote_device()
#process = frida.get_usb_device().attach("哔哩哔哩")
session = rdev.attach("哔哩哔哩")#这儿写你需要hook的app名字,或者包名

src= """
Java.perform(function(){
    var sha256 = Java.use("t3.a.i.a.a.a.b"); //括号了写HOOK函数的包名
    //这里的b代表要用sha256里的b方法
    sha256.b.implementation = function(arg5){
        console.log("加密前--->",arg5);
        //通过该方法,传入arg5进行加密
        ver res = this.b(arg5);
        console.log("加密后--->",agr5);
        return res
    }
})
"""

srcipt = session.create_script(scr)

def on_message(message,data):
    print(message,data)
    
srcipt.on("message",on_message)
srcipt.load()
sys.stdin.read()
posted @ 2022-05-02 14:39  志强爱璇璇  阅读(155)  评论(0)    收藏  举报