当前位置: 首页 > article >正文

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)

http://www.kler.cn/a/227059.html

相关文章:

  • eCos flash模拟EEPROM实现NV系统
  • 如何基于文档的内容实现 AI 对话功能,以 Documate 为例
  • Debezium发布历史106
  • 怎么把几百M大小的视频做成二维码?扫码播放视频在线教程
  • 一文详解docker compose
  • [AIGC] Spring Gateway与 nacos 简介
  • 【服务器】RAID(独立磁盘冗余阵列)
  • JAVA中的访问修饰符
  • STM32--SPI通信协议(1)SPI基础知识总结
  • 大规模机器学习简介
  • 算法篇:递归、搜索与回溯算法
  • 图像处理之《基于端到端哈希生成模型的鲁棒无覆盖图像隐写》论文精读
  • 机器学习 | 如何利用集成学习提高机器学习的性能?
  • 在next.js的13.2.1版本中使用中间件,实现禁止特定ip访问网址所有页面
  • CF1033A King Escape 题解 思维
  • C语言在Visual Studio 2010环境下使用<regex.h>正则表达式函数库
  • 某种中型企业网络问题整改方案
  • Acwing---826.单链表
  • 使用maven对springboot项目进行瘦身分离jar的多种处理方案
  • 机器学习入门-----sklearn