cycript调用c/c++函数

想在cycript验证一下AudioServicesPlaySystemSound函数的功能,查apple sdk发现这个函数在AudioToolbox.framework中,写了段脚本,但发现会有错误是库路径不对吗还是crcript挂载的进程的不对?

脚本:
cycript -p SpringBoard
cy# var hlib = dlopen("/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox",1)
0x12006a070
cy# var funa = dlsym(hlib,“AudioServicesPlaySystemSound”)
0x185461584
cy# funa(1006)
TypeError: Pointer is not a function (evaluating ‘funa(1006)’)
cy#

funa.type返回的void类型

需要对dlsym(hlib,“AudioServicesPlaySystemSound”)得到地址转换为函数地址
@encode(void(int))

Cycript调用C/C++函数比较麻烦,你可以参考官网,有例子

1 个赞

看来以前我没仔细找,现在找到了,谢谢

请问如何在cycript下调用函数, 那个链接没打开 :joy: