iOS逆向之Method Swizzle

题外话:此教程是一篇严肃的学术探讨类文章,仅仅用于学习研究,也请读者不要用于商业或其他非法途径上,笔者一概不负责哟~~

准备工作

  • 非越狱的iPhone手机
  • 用PP助手下载: 微信6.6.5(越狱应用)
  • MachOView
  • yololib
  • class-dump
  • 学习这篇文章之前应该要对runtime有些了解,参考:https://www.jianshu.com/p/927c8384855a
  • 参考iOS逆向之代码注入(dylib)新建工程,注入代码

目的:Hook微信注册功能

思路:

  1. 动态调试找到注册按钮
  2. 找到对应的方法
  3. 修改并交换方法

步骤:

1. 点击Debug view

image.png

2. 点击注册,找到类名(WCAccountLoginControlLogic)和方法名(onFirstViewRegester)

image.png

3. 导出头文件,用到class-dump

image.png

image.png

class-dump -H Wechat -o /Users/zhihuishequ/Desktop/WeChatHearder/

导出头文件,查找@interface WCAccountLoginControlLogic


image.png

在该类中找到方法onFirstViewRegester


image.png

4. 编写WJHook的代码

image.png

5. 编译运行,当点击注册按钮时,会打印WJHook的NSLog。

image.png

代码和工具已上传:https://github.com/WinJayQ/MethodSwizzleHook

你可能感兴趣的:(iOS逆向之Method Swizzle)