From d715cb38ecd52b6b976032be68b2ba37f8581ea9 Mon Sep 17 00:00:00 2001 From: luzhisheng Date: Sat, 3 Feb 2024 08:15:30 +0800 Subject: [PATCH] frida-rpc --- .../__init__.py | 0 .../frida_rpc.py | 45 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 猿人学app逆向/新-sec2-lesson6-续lesson5-object打印-frida-rpc/__init__.py create mode 100644 猿人学app逆向/新-sec2-lesson6-续lesson5-object打印-frida-rpc/frida_rpc.py diff --git a/猿人学app逆向/新-sec2-lesson6-续lesson5-object打印-frida-rpc/__init__.py b/猿人学app逆向/新-sec2-lesson6-续lesson5-object打印-frida-rpc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/猿人学app逆向/新-sec2-lesson6-续lesson5-object打印-frida-rpc/frida_rpc.py b/猿人学app逆向/新-sec2-lesson6-续lesson5-object打印-frida-rpc/frida_rpc.py new file mode 100644 index 0000000..0c7d207 --- /dev/null +++ b/猿人学app逆向/新-sec2-lesson6-续lesson5-object打印-frida-rpc/frida_rpc.py @@ -0,0 +1,45 @@ +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 () { + // hook核心代码 + 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)