特特特特特别强调,只用于技术交流,任何责任我都不想负~~
再特特特特特别强调,若是你一步一步跟着作,出现了任何问题,任何报错。不要急不要急,后面会有您想要的。ios
本例拦截某即时通信软件😛的手机登陆页面中的登陆点击事件。步骤以下:spring
NIC 2.0 - New Instance Creator
------------------------------
[1.] iphone/activator_event
[2.] iphone/application_modern
[3.] iphone/cydget
[4.] iphone/flipswitch_switch
[5.] iphone/framework
[6.] iphone/ios7_notification_center_widget
[7.] iphone/library
[8.] iphone/notification_center_widget
[9.] iphone/preference_bundle_modern
[10.] iphone/tool
[11.] iphone/tweak
[12.] iphone/xpc_service
复制代码
$ 11
Project Name (required): //建立项目的惟一名字。
Package Name [com.yourcompany.wechatpwddemo]: //建立包的惟一ID,中括号中为默认选项,注意小写。
Author/Maintainer Name [马万旻]://建立者的名字
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]://须要注入的目标应用的Bundle ID(你要为哪一个APP编写tweak)
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]://安装成功后杀掉的制定进程(SpringBoard就是咱们正向开发中心心念念想控制的那个桌面😂)bash
初始化成功后,会在当前目录中生成一个与你的Project Name同名的纯小写文件夹,子目录下有四个文件。app
%hook WCAccountNewPhoneVerifyViewController
- (void)onNext {
%orig;
UIView *view = MSHookIvar<UIView *>(self,"_pwdView");
UITextField *pwdTf = view.subviews[0].subviews[0];
NSLog(@"\n\n\n\n\n\n\n\n%@\n\n\n\n\n\n\n\n\n", pwdTf.text);
}
%end
复制代码
在用户输入密码的时候,将会在控制台输出密码。ssh
$ make
,使用$ make message=yes
能够看到Theos的内部处理细节。编译完成后,会生成一个隐藏的.theos文件夹和一个obj文件夹。$ make package
。完成后会生成一个packages文件夹,文件夹下会有一个deb包。$ make install
,这里会报错,须要在环境变量中设置,能够设置在makefile文件中,也能够设置在.zchrc/.bash_profile中。 这里的THEOS_DEVICE_IP和THEOS_DEVICE_PORT是ssh登陆的IP和端口。$ export THEOS_DEVICE_IP=127.0.0.1
$ export THEOS_DEVICE_PORT=12345
复制代码
安装完成后,会在设备的Library/MobileSubstrate/DynamicLibraries/
查看到你的dylib和plist。如下方式能够查看日志:iphone
idevicesyslog | grep 关键字
命令,查看日志。在使用theos的时候,有几个坑,点这里。ide