app逆向-frida-rpc详解

Frida-RPC是Frida工具的一个组件,用于在应用程序和Frida脚本之间进行远程过程调用(RPC)。远程过程调用是一种允许应用程序的不同部分或不同的应用程序之间进行通信的方法。在Frida中,RPC通过JavaScript脚本和应用程序之间建立通信通道,使得你可以在运行中的应用程序中执行特定的函数或操作。

代码实现如下

import frida


def on_message(message, data):
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
    else:
        print(message)


# 定义Frida脚本
test_rpcx = '''
rpc.exports = {
 geta: function(str){
    var enc = '' 
    Java.perform(function () {
    	//-----------
        // 要执行特定的函数或操作
        console.log('str:'+str)
        var e = Java.use('com.picovr.xxxxx.c.a.e')
        enc = e.d(str)
        console.log('enc:'+enc)
        //-----------
    });
    return enc
 }
}
'''


def start_rpc():
    # 连接到应用程序
    process = frida.get_usb_device(-1).attach('com.picovr.xxxxx')
    # 创建脚本
    script = process.create_script(test_rpcx)
    # 消息处理
    script.on('message', on_message)
    # 加载脚本
    script.load()
    # 返回脚本的导出值
    return script.exports


if __name__ == '__main__':
    rpc = start_rpc()
    enc = rpc.geta('传入的参数')
    print(enc)
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是花臂不花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值