- 这篇博客的主要目的是:
希望兄弟们少装一些第三方破解的APP,有可能神不知鬼不觉的把你的信息就拿走了~
1. 动态库Framework-hook代码
今天用
某信很单纯的演示,很单纯的~
-
准备资料
-
砸过壳的
.ipa -
最好有
描述文件证书(也可以用免费的) -
工具:
yololib、class-dump -
自签脚本 (这个也可以用网上的工具啥的都可以,目的就是为了重签名)
-
点击资料地址,密码: uwg9
-
本来我写了
重签名的博客了~,想了一下,现在工具啥的都比较多,就不发表了~
1.1. 创建Framework
-
- 动态库注入流程图
-
- 加入
load方法测试
- 加入
兄得们都知道:
load在main函数之前。那我们写句log,看看会不会走
好吧,事实证明他没有走~
1.2. 注入Framework
在注入代码之前,先和兄得们探索下
MachO
-
- 把
MachO二进制文件拖进MachOView里面
- 把
不知道兄弟们对
Load Commands,理解到哪一步
根据观察,我们只要把
framework注入,然后Load Commands关联起来,就可以用了~
-
-
yololib使用
-
- 命令:
yololib MachO路径 framework的路径
- 命令:
-
- 我们把它加入原先写的脚本
appSign.sh中
- 我们把它加入原先写的脚本
-
-
- 运行工程
可以验证到,代码注入成功了
2. hook-某信方法
用
Xcode可以lldb调试,就舒服的很
2.1. hook·注册·按钮
我们的目的是:使
注册失效
-
- 到登陆页
viewDebug调试
- 到登陆页
-
- 点击注册按钮寻找
类和方法
- 点击注册按钮寻找
-
- 通过代码让注册按钮失效
用了一个非常简单的
方法交换~
-
- 运行验证
点击注册按钮之后
直接把注册按钮
hook住,换成自己的~
2.2. 登陆信息获取
我写的目的主要是,
提醒大家!不要装第三方破解应用!有风险!
-
- 以
账号密码登录举例,切到相应界面,看下布局~
- 以
-
- 思路分析
-
- 我们在
点击登录的时候 获取密码
- 我们在
-
- 我们要找到
密码输入框的文本
- 我们要找到
我们可以观察出。我们要找的东西,就是这个
WCUITextField
-
-
接下来我们要
静态分析了(要用到下一个工具了:class-dump)
-
-
class-dump头文件到Header文件夹
class-dump -H MachO路径 -o Header(存放的文件夹,这个随意写)
-
-
- 用
subline或者vscode打开Header文件夹
- 用
-
- 搜索相关的
类和方法
- 搜索相关的
-
-
- 代码走起了~
-
- 验证
3. 总结
-
- 这篇文章的主要目的是:
尽量不要装第三方破解应用。有风险!
- 这篇文章的主要目的是:
-
- 这篇文章的主要目的是:
尽量不要装第三方破解应用。有风险!
- 这篇文章的主要目的是:
-
- 这篇文章的主要目的是:
尽量不要装第三方破解应用。有风险!
- 这篇文章的主要目的是:
-
兄得们不要用自己的账号登录哈~,这就是个思路和验证。(要是封号了,小谷的罪过就大了~)
-
- 这算是
迈出逆向的第一步!
- 这算是