特特特特特别强调,只用于技术交流,任何责任我都不想负~~
再特特特特特别强调,如果你一步一步跟着做,出现了任何问题,任何报错。不要急不要急,后面会有您想要的。
本例拦截某即时通讯软件😛的手机登录页面中的登录点击事件。步骤如下:
- 打开终端,执行nic.pl,会出现12个选项。
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
- 编写tweak,选择第11个,直接输入:
$ 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就是我们正向开发中心心念念想控制的那个桌面😂)
初始化成功后,会在当前目录中生成一个与你的Project Name同名的纯小写文件夹,子目录下有四个文件。
- Makefile //makefile文件
- Tweak.xm //编写代码的文件
- WeChatPwdDemo.plist //plist文件,用于指定需要注入的目标文件的bundle id。
- control //制定deb包的一些信息,包括名字、描述、版本号等。
- 拦截某即时通讯软件😛的手机登录页面中的登录点击事件,通过分析,我们可以找到登录事件的响应方法,编辑Tweak.xm写入以下内容:
%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
在用户输入密码的时候,将会在控制台输出密码。
- 在生成的四个文件目录下,执行
$ make
,使用$ make message=yes
可以看到Theos的内部处理细节。编译完成后,会生成一个隐藏的.theos文件夹和一个obj文件夹。 - 将其打包成deb。执行
$ make package
。完成后会生成一个packages文件夹,文件夹下会有一个deb包。 - 将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。以下方式可以查看日志:
- 在Xcode->Window->Devices and Simulators选项,从控制台查看执行的log信息。
- 运行brew install libimobiledevice命令,安装libimobiledevice命令工具。运行
idevicesyslog | grep 关键字
命令,查看日志。
在使用theos的时候,有几个坑,点这里。
今天的文章使用THEOS编写Tweak分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/20005.html