最近入门了ios逆向,还买了本飘云大佬的《ios运用逆向与安全之道》,看了看属实不错。写了个简易crackme app用来熟悉熟悉,初步了解一下ios的逆向方法和流程。
设备
项目地址
ACrackMe ipa
流程
分析
目标
输入框输入字符串,点击提交,成功则弹出成功提示框,并且首页背景变为绿色
https://imgse.com/i/p9gXyqg
https://imgse.com/i/p9gXcZQ
https://imgse.com/i/p9gXgaj
通过Reveal 查看页面找到视图为 Md5ViewController
用ida 打开Mach-O文件并搜索关键字提交,找到目标代码,是一个点击事件,事件触发的方法是 check
https://imgse.com/i/p9gX2Is
找到 check,查看伪代码,发现加密函数是 md5Encrypt, 入参是 “andyhah”。然后与输入框的输入比较,相同则成功。
https://imgse.com/i/p9gXWin
逆向
md5Encrypt函数实现功能其实就是将“andyhah”md5加密了一下,但还是hook一下练练手^。^,使用越狱插件将加密函数改为永远返回 123456
tweek 插件
[ol]
安装theos
nic.pl 启动theos
选择tweek
https://imgse.com/i/p92YhhF
修改Tweek.x, 使md5Encrypt返回固定字符串
https://imgse.com/i/p92te3Q
打包,上传,安装
DEBUG=0 make package
scp packages/[deb文件] root@[设备ip]:/tmp
# 进入iphone
cd /tmp
dpkg -i [deb文件]
运行
输入框输入 123456,点击提交
https://imgse.com/i/p92tfbt
https://imgse.com/i/p92NMxH
查看日志iphone:idevicesyslog -i "A0CrackMe"
https://imgse.com/i/p92txaV
[/ol]
小结
一个很简单app,可以自行clone项目,并用xcode安装到测试机上。后面继续深入也会更新跟多的检测攻防上去