如何将字典参数从 Python 传递给 Frida RPC JavaScript 函数?
How to pass a dict parameter from Python to Frida RPC JavaScript function?
我想将 dict 传递给 RPC,这是我的 agent.js:
rpc.exports = {
signrequesturlwithparameters: function (param_dict,secret,signMethod) {
var result=ObjC.classes.GSNetworkUtils.signRequestUrlWithParameters_secret_signMethod_(param_dict,secret,signMethod);
return String(ObjC.classes.NSString.stringWithString_(result));
}
};
RPC 调用示例;
script.load()
signrequesturlwithparameters= getattr(script.exports, 'signrequesturlwithparameters')
_dict={"imsi":"46001","device_model":"iPhone7,2"}
secret="93AA27467E8";
signMethod="md5";
a=signrequesturlwithparameters(_dict,secret,signMethod)
print(a)
有一个错误,我可以从 Python 传递一个字典给 JavaSript RPC 函数吗?我应该如何修改 Python 或 JavaScript 代码以使其工作?
更新:
我试过JSON.parse,但是frida的javascript好像不能用JSON
。另外一个问题是当我想给[=15=传递一个可变参数dict时,我应该如何使用setObject_forKey_("key1","value1")
?我想我应该解析 frida javascript 中的可变参数 dict,然后我尝试将 str(dict)
从 python 传递给 frida javascript 并尝试将字符串 dict 解析为 dict in frida javascript 和 ObjC.classes.NSJSONSerialization
,更多细节是 here,但仍然失败,你能帮我吗?
您可以在 py 端使用 json.dumps
和在 JS 端使用 JSON.parse
,但我认为您的问题是@ signRequestUrlWithParameters_secret_signMethod_
我不认为它期待 JSON 但是NSDictionary
或类似的东西。
var NSDict = ObjC.classes.NSMutableDictionary.alloc().init();
NSDict.setObject_forKey_("key1", "value1");
NSDict.setObject_forKey_("key2", "value2");
signRequestUrlWithParameters_secret_signMethod_(NSDict, ...);
我想将 dict 传递给 RPC,这是我的 agent.js:
rpc.exports = {
signrequesturlwithparameters: function (param_dict,secret,signMethod) {
var result=ObjC.classes.GSNetworkUtils.signRequestUrlWithParameters_secret_signMethod_(param_dict,secret,signMethod);
return String(ObjC.classes.NSString.stringWithString_(result));
}
};
RPC 调用示例;
script.load()
signrequesturlwithparameters= getattr(script.exports, 'signrequesturlwithparameters')
_dict={"imsi":"46001","device_model":"iPhone7,2"}
secret="93AA27467E8";
signMethod="md5";
a=signrequesturlwithparameters(_dict,secret,signMethod)
print(a)
有一个错误,我可以从 Python 传递一个字典给 JavaSript RPC 函数吗?我应该如何修改 Python 或 JavaScript 代码以使其工作?
更新:
我试过JSON.parse,但是frida的javascript好像不能用JSON
。另外一个问题是当我想给[=15=传递一个可变参数dict时,我应该如何使用setObject_forKey_("key1","value1")
?我想我应该解析 frida javascript 中的可变参数 dict,然后我尝试将 str(dict)
从 python 传递给 frida javascript 并尝试将字符串 dict 解析为 dict in frida javascript 和 ObjC.classes.NSJSONSerialization
,更多细节是 here,但仍然失败,你能帮我吗?
您可以在 py 端使用 json.dumps
和在 JS 端使用 JSON.parse
,但我认为您的问题是@ signRequestUrlWithParameters_secret_signMethod_
我不认为它期待 JSON 但是NSDictionary
或类似的东西。
var NSDict = ObjC.classes.NSMutableDictionary.alloc().init();
NSDict.setObject_forKey_("key1", "value1");
NSDict.setObject_forKey_("key2", "value2");
signRequestUrlWithParameters_secret_signMethod_(NSDict, ...);