Frida+Python+Javascript当找不到类时,“java.use(“XXX”)”做什么?

2024-06-10 07:39:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python(android+frida环境)中使用以下javascrip来钩住一个方法

jscode ="""
Java.perform(function () { 
    console.log("start hook...");
    var d =java.use("myapp.okhttp3.internal.f.a");
    d.verify.implementation =function(p1, p2){
    console.log("ssl unpinning for"); 
    return true; 
    }
});
""" 

这是python文件:

import sys  
import os  
import threading  
import subprocess  
import frida  
import time


jscode ="""
Java.perform(function () { 
    console.log("start hook...");
    var d =java.use("myapp.okhttp3.internal.f.a");
    d.verify.implementation =function(p1, p2){
    console.log("ssl unpinning for"); 
    return true; 
    }
});
"""  
os.system('adb forward tcp:27042 tcp:27042')  
os.system('adb forward tcp:27043 tcp:27043')  

APP_NAME = 'myapp'   
device = frida.get_usb_device(1)
pid = device.spawn([APP_NAME])  
device.resume(pid)  
time.sleep(1)  
process = device.attach(pid)  
print('success')
script = process.create_script(jscode) 
print(pid) 
script.load() 
print('script loaded') 
input()

我的问题是var d =java.use("myapp.okhttp3.internal.f.a")在找不到类时是否抛出“类未找到异常”,以及如何查看此异常?我可以使用诸如console.log(java.use(“myapp.okhttp3.internal.f.a”)之类的代码来记录“类未找到异常”吗


Tags: importlogusedevicescriptfunctionjavapid
1条回答
网友
1楼 · 发布于 2024-06-10 07:39:13

您可以在js中使用try-catch,在python中使用catch@handle

try {
  var d =...
} catch (e) {
  send(JSON.stringify(e));
}

在python端

def on_message(msg, _data):
  # check if msg has error and handle

script.on('message', on_message)

相关问题 更多 >