iOS逆向-微信自动添加好友(我的第一次iOS逆向探索)
2023-11-13 20:14:38
前言
大家好,我是(爱)结(huai)合(ren)码(shen)农(jing),上(sui)次(di)完成了 macOS 版微信小助手,现在终于有(xian)时(de)间(huang)来说说 iOS 逆向了。本篇主要实现在微信上自动添加好友(即自动验证新的朋友申请),从而熟悉 iOS 逆向分析的过程,可能总结的有点粗糙,如果有不懂的地方欢迎探讨。
以下工具的详细使用方法可以自行搜索或参考我之前的博客:iOS逆向入门-微信小助手(macOS)
准备工作
1. 越狱设备
首先需要一台越狱的 iOS 设备,这里推荐使用 Checkra1n 工具进行越狱。Checkra1n 是一款基于硬件漏洞的越狱工具,支持从 iOS 12 到 iOS 14.8.1 的所有设备。
2. Cydia
越狱成功后,需要安装 Cydia,这是一个类似于 App Store 的第三方应用商店。Cydia 中有许多用于 iOS 逆向分析的工具,例如 Filza、iFunBox、ssh、lldb 等。
3. IDA Pro
IDA Pro 是一款专业的逆向分析工具,可以用于分析 MachO 文件。MachO 是 iOS 和 macOS 上的可执行文件格式。
4. MachOView
MachOView 是一款 MachO 文件查看器,可以帮助我们了解 MachO 文件的结构。
工具使用
1. Filza
Filza 是一个功能强大的文件管理工具,可以让我们访问 iOS 设备的文件系统。我们可以使用 Filza 找到微信的安装目录,并提取微信的 MachO 文件。
2. iFunBox
iFunBox 也是一个文件管理工具,但它比 Filza 更加直观易用。我们可以使用 iFunBox 将 MachO 文件从 iOS 设备复制到电脑上。
3. ssh
ssh 是一个远程登录工具,我们可以使用 ssh 登录到 iOS 设备并执行命令。我们可以使用 ssh 来启动 IDA Pro 并分析 MachO 文件。
4. lldb
lldb 是一个命令行调试工具,我们可以使用 lldb 来动态调试 MachO 文件。
5. IDA Pro
IDA Pro 是一个专业的逆向分析工具,我们可以使用 IDA Pro 来分析 MachO 文件。IDA Pro 可以帮助我们找到微信中负责添加好友的函数,并修改该函数以实现自动添加好友的功能。
代码编写
在找到微信中负责添加好友的函数后,我们可以使用 Objective-C 语言编写代码来修改该函数。Objective-C 是 iOS 开发中常用的编程语言。
这里是一个示例代码,可以实现自动添加好友的功能:
// 导入必要的头文件
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
// 定义一个函数,用于自动添加好友
void addFriend() {
// 获取微信的 UIApplication 实例
UIApplication *app = [UIApplication sharedApplication];
// 获取微信的 AppDelegate 实例
AppDelegate *delegate = (AppDelegate *)app.delegate;
// 获取微信的 WeChatViewController 实例
WeChatViewController *controller = delegate.tabBarController.selectedViewController;
// 获取微信的 FriendRequestViewController 实例
FriendRequestViewController *friendRequestController = controller.childViewControllers.firstObject;
// 获取微信的 UITableView 实例
UITableView *tableView = friendRequestController.tableView;
// 获取微信的 UITableViewCells 实例
NSArray *cells = tableView.visibleCells;
// 遍历 UITableViewCells 实例
for (UITableViewCell *cell in cells) {
// 获取微信的 UIButton 实例
UIButton *button = cell.contentView.subviews.lastObject;
// 点击微信的 UIButton 实例
[button sendActionsForControlEvents:UIControlEventTouchUpInside];
}
}
// 在微信的 viewDidLoad 方法中调用 addFriend 函数
- (void)viewDidLoad {
[super viewDidLoad];
addFriend();
}
测试
将修改后的 MachO 文件重新安装到 iOS 设备上,并运行微信。如果一切顺利,你应该可以看到微信自动添加好友的功能已经生效了。
常见问题解答
1. 为什么我的微信不能自动添加好友?
请确保你已经正确地修改了 MachO 文件,并重新安装到了 iOS 设备上。
2. 为什么我的微信会崩溃?
请确保你已经正确地修改了 MachO 文件,并且没有引入任何错误。
3. 我可以在非越狱的 iOS 设备上使用这个方法吗?
不可以,这个方法只能在越狱的 iOS 设备上使用。
总结
以上就是我在 iOS 逆向中实现微信自动添加好友功能的详细过程。希望对大家有所帮助。