做了蛮久的iOS越狱开发,现在终于有点时间来写一些大概可以算是笔记的东西了,这里先写的是有关Cycript的东西。如果有理解错的,欢迎指出,我的邮箱是[data deleted] :p
function ls(a) { var x={}; for(i in *a) { try{ x[i] = (*a)[i]; } catch(e) { } } return x; }
这个函数是用来查看实例的私有变量,传入的参数就是该实例
function lsl(a) { var x = []; for (i in *a) { x.push(i); } return x; }
这个函数也是用来查看实例的私有变量,不过比刚才的简洁一些,传入的参数也是该实例
function methods(className) { var count = new new Type("I"); var methods = class_copyMethodList(objc_getClass(className), count); var methodsArray = []; for(var i = 0; i < *count; i++) { var method = methods[i]; methodsArray.push({selector: method_getName(method), implementation: method_getImplementation(method)}); } free(methods); free(count); return methodsArray; }
这个函数是用来查看某个class的方法,需要传进去的参数就是该class的名字
在通过Cycript注入到某个程序之后,一般都会
var app = [UIApplication sharedApplication]; var keyWindow = app.keyWindow; var view = keyWindow.subviews[0] var rootVC = keyWindow.rootViewController
把这些常用的东西hook到,准备调试用