视频教程:

安卓 Python+Frida Hook入门教程【简单HOOK+RPC主动调用】

视频演示APP下载地址:

https://null119.lanzoul.com/iBtX306mefha

环境安装配置视频教程:

Python+Frida 雷电模拟器环境安装配置

全部代码:

#frida.py
import frida  # 导入frida模块
import sys  # 导入sys模块

def on_message(message, data):  # js中执行send函数后要回调的函数
    print(message)

'''
spawn模式,Frida会自行启动并注入进目标App,Hook的时机非常早
'''
# device=frida.get_remote_device()
# pid=device.spawn(['com.jx885.reward'])  #包名
# device.resume(pid)
# time.sleep(1)
# session = device.attach(pid)

'''
attach模式,Frida会附加到当前的目标进程中,即需要App处于启动状态,这也意味着只能从当前时机往后Hook,
'''
session = frida.get_remote_device().attach('驾培创业教练')  #APPNAME

with open("./frida.js") as f:
    script = session.create_script(f.read())

script.on('message', on_message)  # 加载回调函数,也就是js中执行send函数规定要执行的python函数
script.load()  # 加载脚本
currTime='20220619043925'
phone='13966552233'
type='1'
sign=script.exports.getsign(f'{currTime}{type}wocaonima{phone}')
print(sign)
#sys.stdin.read()


#frida.js
// Java.perform(function (){
//     Java.use('com.jx885.library.http.CommAction').getSmscode.implementation=function (mi,mstr,mstr2){
//         console.log(mi,mstr,mstr2);
//         return this.getSmscode(mi,mstr,mstr2);
//     }
// });

function sign(s){
    var result='';
    Java.perform(function (){
        result=Java.use('com.jx885.library.http.network.HttpUtils').getStringMD5toUpperCase(s);
    })
    return result
}
rpc.exports={
    getsign:sign
}

发表回复

后才能评论