抽离Cycript的choose功能
众所周知,cycript有一个非常便利的功能——choose(CLASS_NAME)。通过这个function,我们可以获取到当前进程中所有类名为CLASS_NAME的实例对象,在逆向的过程中能给我们节省不少时间。
然而,在编写tweak时却用不了这个function,当然不用这个也能写,但是有的话,也是一大便利。
众所周知,cycript有一个非常便利的功能——choose(CLASS_NAME)。通过这个function,我们可以获取到当前进程中所有类名为CLASS_NAME的实例对象,在逆向的过程中能给我们节省不少时间。
然而,在编写tweak时却用不了这个function,当然不用这个也能写,但是有的话,也是一大便利。
SSH到iOS设备之后,无法在终端里输入中文(或其他Unicode字符),其实以前貌似在哪看到过,不过现在找不到了><
引用里虽然是讲OS X,不过iOS也是适用的。
在Apple Open Source网站上,有许多苹果公司的开源项目,然而没有类似于GitHub的打包下载,需要自己一个文件一个文件的看。这样就麻烦了,特别是稍大一点的项目。
于是就想到了做这么一个东西,用于下载Apple Open Source上的开源项目。
今天在群里看到有朋友问了这么一个问题:
“iOS能否同时开启蜂窝移动数据和WiFi,蜂窝移动数据用来与外界通信,WiFi用来与局域网通信。”
诶?这不就是route的拿手戏吗?虽然对于普通人来讲这个功能几乎用不到,不过对于开发者来讲,这个功能还是挺方便的。
比如,我通过Wi-Fi SSH到我的设备上,在那里使用Cycript或者debugserver等等,然后我想要调试的程序因为某些原因,必须走蜂窝数据网络。
这时候,就该route上场了!
去除B站播放页上的广告,可惜Flash播放器里的广告就不行了╮(╯▽╰)╭
不过去掉之后看上去还是好多了。
众所周知,在C中不存在函数重载,不过LLVM提供了额外的扩展,实现了C函数的重载。要是用这个特性也十分简单,只需要在声明函数时加上__attribute__((overloadable))即可。
不过这个特性(据我所知)只在LLVM里提供。如果你的程序需要在其他没有LLVM编译器的平台下编译的话,请直接简单粗暴的换个函数名。