首页 > 解决方案 > 可变参数打印函数的 Frida 语法

问题描述

使用 Frida 的 Objective-C API(用 Javascript 编写),我可以:

var b = ObjC.classes.NSString.stringWithString_("foo");
    
b.isKindOfClass_(ObjC.classes.NSString)
1  // true
    
b.isKindOfClass_(ObjC.classes.NSUUID)
0  // false
    
b.isEqualToString_("foo")
1
    
b.description().toString()
"foo"
    

但我找不到这样的variadic NSString init调用的正确语法:

var c = ObjC.classes.NSString.stringWithFormat_('foo', 'bar', 'lives', '...');

c.description().toString()
"foo"

有任何想法吗?

标签: frida

解决方案


下面的伎俩:

var c = ObjC.classes.NSString.stringWithFormat_('foo ' + 'bar ' + 'lives');

c.description().toString()
"foo bar lives"

console.log(c)
foo bar lives

推荐阅读