本文主要是介绍Frida-RPC 调用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
demo
frida-rpc通过调用已加载到内存中的函数,直接获取到结果:
import fridardev = frida.get_remote_device()
session = rdev.attach("大姨妈")scr = """rpc.exports = { encrypt(j2, str){var res;Java.perform(function () {var Crypt = Java.use("com.yoloho.libcore.util.Crypt"); res = Crypt.encrypt_data(j2, str);});return res;}}"""
script = session.create_script(scr)
script.load()sign = script.exports.encrypt(0,"38a6b024user/login8GGjp1eHdaK4e22QpCp0kfg==")
print(sign)
解释:在最外层使用rpc.exports导出了encrypt方法的定义,所以在script.exports里就能调用encrypt方法。
类型的处理
在执行frida-rpc时,会涉及到参数类型的处理和转换:
在python中给frida的JavaScript脚本传入参数时,一般有如下几种情况:
-
字符串/整型/浮点型等直接传递
import fridardev = frida.get_remote_device() session = rdev.attach("大姨妈") scr = """ rpc.exports = { encrypt:function(v1,v2,v3,v4,v5){console.log(v1,ty
这篇关于Frida-RPC 调用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!