做了蛮久的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到,准备调试用