iOS逆向安防从入门到秃头--iOS代码注入

1,140 阅读3分钟

小谷秃头合集

  • 这篇博客的主要目的是:希望兄弟们少装一些第三方破解的APP,有可能神不知鬼不觉的把你的信息就拿走了~

1. 动态库Framework-hook代码

今天用某信 很单纯的演示,很单纯的~

  • 准备资料

    • 砸过壳的.ipa

    • 最好有描述文件证书(也可以用免费的)

    • 工具:yololibclass-dump

    • 自签脚本 (这个也可以用网上的工具啥的都可以,目的就是为了重签名)

    • 点击资料地址,密码: uwg9

本来我写了重签名的博客了~,想了一下,现在工具啥的都比较多,就不发表了~

1.1. 创建Framework

    1. 动态库注入流程图

1.png

    1. 加入load方法测试

兄得们都知道:loadmain函数之前。那我们写句log,看看会不会走

2.png

好吧,事实证明他没有走~

1.2. 注入Framework

在注入代码之前,先和兄得们探索下MachO

    1. MachO二进制文件拖进MachOView里面

3.png

不知道兄弟们对Load Commands,理解到哪一步

根据观察,我们只要把framework注入,然后Load Commands关联起来,就可以用了~

    1. yololib使用

      1. 命令:yololib MachO路径 framework的路径
      1. 我们把它加入原先写的脚本appSign.sh4.png
    1. 运行工程

5.png

可以验证到,代码注入成功了

2. hook-某信方法

Xcode可以lldb调试,就舒服的很

2.1. hook·注册·按钮

我们的目的是:使注册失效

    1. 到登陆页 viewDebug调试

6.png

    1. 点击注册按钮寻找类和方法

7.png

    1. 通过代码让注册按钮失效

8.png

用了一个非常简单的方法交换~

    1. 运行验证

点击注册按钮之后

9.png

直接把注册按钮hook住,换成自己的~

2.2. 登陆信息获取

我写的目的主要是,提醒大家!不要装第三方破解应用!有风险!

    1. 账号密码登录举例,切到相应界面,看下布局~

10.png

    1. 思路分析
      1. 我们在点击登录的时候 获取密码
      1. 我们要找到密码输入框的文本

11.png

我们可以观察出。我们要找的东西,就是这个 WCUITextField

    1. 接下来我们要静态分析了(要用到下一个工具了:class-dump)

      1. class-dump 头文件到 Header文件夹

      • class-dump -H MachO路径 -o Header(存放的文件夹,这个随意写)
      1. subline或者vscode打开Header文件夹
      1. 搜索相关的类和方法

12.png

    1. 代码走起了~

13.png

    1. 验证

14.png

3. 总结

    1. 这篇文章的主要目的是:尽量不要装第三方破解应用。有风险!
    1. 这篇文章的主要目的是:尽量不要装第三方破解应用。有风险!
    1. 这篇文章的主要目的是:尽量不要装第三方破解应用。有风险!
    1. 兄得们不要用自己的账号登录哈~,这就是个思路和验证。(要是封号了,小谷的罪过就大了~)
    1. 这算是迈出逆向的第一步!