Theos的安装请参考这里:http://iphonedevwiki.net/index.php/Theos/Getting_Started
其中要注意的地方:将IOS设备上的/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate复制到Mac中,然后运行以下命令,替换无效的libsubstrate.dylib:
sudo mv -f CydiaSubstrate $THEOS/lib/libsubstrate.dylib
然后新建一个Theos工程,填上Bundle Filter (这里我们hook的还是MethodSwizzlingDemo)。
完成后,便会在当前目录下生成一个新的文件夹loginpass。然后编辑里面的Tweak.xm文件。我们要hook的是类ViewController下面的validateLogin方法(通过class-dump-z可以得出),所以编写如下代码:
1
2 3 4 5 6 7 |
%hook ViewController
- (BOOL )validateLogin { return YES ; } %end |
保存后,编译、打包:
便会在当前目前下面生成一个com.monkey.loginpass_0.0.1-1_iphoneos-arm.deb文件,把这个文件scp到设备上面:
scp com.monkey.loginpass_0.0.1-1_iphoneos-arm.deb root@ip:/opt
然后使用dpkg安装
dpkg -i com.monkey.loginpass_0.0.1-1_iphoneos-arm.deb
killall SpringBoard
在打开我们的应用点击Login Method1 直接进入Admin,即跳过了验证。