hook思路
- 界面入手, 定位UI
- 最好的是View Debug
- 第一次有可能挂载失败 -> 重新运行
- 导入hank.cy
- HKCurrentVC() -> 找到当前视图
- NewSettingViewController
- 找到头文件
- command + t
- class-dump -H WeChat -o Headers/ -> 导出可执行文件的头文件
- 用Sublime Text打开头文件的文件夹
- 找 @interface WCTableViewManager
- 地址.dataSource -> 数据源
- WCTableViewManager
- <WCTableViewManager地址>.tableView -> 查看该管理器的tableView对象
- <WCTableViewManager地址>.sections -> 查看sections
- 判断该界面是不是我们要找的界面
- <tableView的地址>.backgroundColor = [UIColor redColor] -> 改背景颜色来验证
- 从头文件里找我们要Hook的参数
- HKCurrentVC() -> 找到当前视图
- 发现很多界面都有用到WCTableViewManager, 我们必须确定只有hook设置界面的
-
choose(WCTableViewManager) -> 全局查找该对象,看看初始化了多少个
-
查找该对象的响应链来判断哪个是我们要找的
- <地址>.tableView.nextResponder.... -> 此处可以一直.nextResponder来往上查找 image.png
-
图片资源可以直接拖到IPA包里
-
- %new 方法建议加上前缀 SY_......来放置以后有可能的冲突
越狱概念
通过iOS系统安全启动链漏洞,从而禁止掉信任链中负责验证的组件。拿到iOS系统最大权限ROOT权限.
iOS 安全启动链
image.png
完美越狱 & 非完美越狱
- 完美越狱: 就是破解iOS系统漏洞之后,每次系统重启都能自动调用注入的恶意代码,达到破坏安全验证,再次获得ROOT权限。
- 非完美越狱: 越狱系统后,并没有完全破解安全链,有部分信息或功能应用不佳;比如;关机以后必须去连接越狱软件来引导开机;或者重启会导致越狱的失效;这样的越狱称为“不完美越狱”。
两大主流越狱工具:
//这里本来是MarkDown语法, 被简书拒了, 说是不能够打开外部链接,惹不起惹不起
[uncOver](https://unc0ver.dev/)
[Odyssey需要断网](https://theodyssey.dev/)
- 需要安装的插件 OpenSSH
国内软件源
image.png还有一个比较重要的软件源如下: 安装OpenSSH需要添加
//这里本来是MarkDown语法, 被简书拒了, 说是不能够打开外部链接,惹不起惹不起
https://apt.bingner.com/
网友评论