【ios逆向学习】简易ios crackme 学习分析记录
# 小引最近入门了ios逆向,还买了本飘云大佬的《ios运用逆向与安全之道》,看了看属实不错。写了个简易crackme app用来熟悉熟悉,初步了解一下ios的逆向方法和流程。
### 设备
- ios版本 12.4.5
- iphone6 plus(已越狱)
- xcode 12.0
### 项目地址
(https://github.com/andy0andy/ios_crackme)
# 流程
### 分析
- 目标
输入框输入字符串,点击提交,成功则弹出成功提示框,并且首页背景变为绿色
![](https://s1.ax1x.com/2023/05/15/p9gXyqg.png)
![](https://s1.ax1x.com/2023/05/15/p9gXcZQ.png)
![](https://s1.ax1x.com/2023/05/15/p9gXgaj.png)
- 通过Reveal 查看页面找到视图为 Md5ViewController
- 用ida 打开Mach-O文件并搜索关键字*提交*,找到目标代码,是一个点击事件,事件触发的方法是 *check*
![](https://s1.ax1x.com/2023/05/15/p9gX2Is.png)
- 找到 check,查看伪代码,发现加密函数是 *md5Encrypt*, 入参是 *“andyhah”*。然后与输入框的输入比较,相同则成功。
![](https://s1.ax1x.com/2023/05/15/p9gXWin.png)
### 逆向
*md5Encrypt*函数实现功能其实就是将*“andyhah”*md5加密了一下,但还是hook一下练练手^。^,使用越狱插件将加密函数改为永远返回 123456
- **tweek 插件**
1. [安装theos](https://juejin.cn/post/6961975578631241765)
2. nic.pl 启动theos
3. 选择tweek
![](https://s1.ax1x.com/2023/05/15/p92YhhF.png)
4. 修改Tweek.x, 使*md5Encrypt*返回固定字符串
![](https://s1.ax1x.com/2023/05/15/p92te3Q.png)
5. 打包,上传,安装
```text
DEBUG=0 make package
scp packages/ root@[设备ip]:/tmp
# 进入iphone
cd /tmp
dpkg -i
```
6. 运行
输入框输入 *123456*,点击提交
![](https://s1.ax1x.com/2023/05/15/p92tfbt.png)
![](https://s1.ax1x.com/2023/05/15/p92NMxH.png)
查看日志iphone:idevicesyslog -i "A0CrackMe"
![](https://s1.ax1x.com/2023/05/15/p92txaV.png)
# 小结
一个很简单app,可以自行clone项目,并用xcode安装到测试机上。后面继续深入也会更新跟多的检测攻防上去 支持支持,我看很刑,继续做继续刑。 学习,不过这外链图片显示不出来啊 其实破解几个crackme并没有什么卵用,纯浪费时间
这种crackme随手写一堆
greendays 发表于 2023-5-17 10:42
学习,不过这外链图片显示不出来啊
现在好像可以看了 lichao890427 发表于 2023-5-17 12:27
其实破解几个crackme并没有什么卵用,纯浪费时间
这种crackme随手写一堆
俺就练练手,权当个笔记 学习学习大佬的先进技术 学习学习 , 我也得好好琢磨琢磨
页:
[1]