clutch对app进行砸壳

逆向学习相关,实战一下对app的砸壳,砸壳必须要越狱手机哦.

什么是壳

一个App无论是Android还是ios, 或者是PC平台, 为了保护app都会加上一层壳, 加壳的app可能无法被一些IDA之类的工具解析, 那么也就无法搞事情,所以砸壳是必须走的一步,也可以从某助手平台下载已砸壳的, 当然最好用下面的命令确认下先.
怎么查看一个app是否有壳, 可以使用下面的命令, 替换为App的二进制文件查看:

1
otool -l targetBinary | grep cryptid

得到的结果如果是1则是未砸壳的, 0是已砸壳.
还有一种情况是一些App支持多种架构的,可能会展示多个cryptid=1/0, 在哪个平台跑就砸哪个.

确定目标后安装App

我这里以麦当劳App(听说改名金拱门)为例,从appStore下载安装.

编译clutch二进制文件

clutch神器下载地址, 下载编译后允许会得到一个二进制文件, 这里不累述哈, 或者你可以直接从我的git地址clone我编译后的,在clutch_binary文件下.

拷贝clutch到设备

连接手机


我这里用iproxy从22映射到2222端口,并整个过程保持. 右边线尝试登录下,默认密码是alpine, 其他情况就自行谷歌帮助,我相信这没什么难度.

1
iproxy 2222 22

1
ssh root@localhost -p 2222

测试连接成功后输入 exit 退出,接着下一步

scp拷贝到手机

scp(secure copy) 支持ssh协议远程拷贝, 我们用它拷贝到设备上, 前提是上面的
的测试成功了.

1
scp -P 2222 ./clutch root@localhost:/usr/bin/


如果这样子的话就成功了, /usr/bin/默认已经在环境变量查找内, 拷贝到这里可以省事很多多.

找到目标

先介绍下clutch用法:

推荐ios-deploy -B可以获取bundleID, brew install ios-deploy就可以安装了.

例如我这里的目标是麦当劳app, 尝试搜一下mc,果不其然就是它了.
拿到的bundleID就是com.mcdonalds.gma
(嗯, 还有个grep的方法更简单,但是我真的不知道它是麦当劳, 因为他显示的是Arch,所以靠谱的话就还是上面,BundleID基本会跟名称一直吧)

开始砸壳

连接设备ssh root@localhost -p 2222
进入命令行后输入:

1
clutch -b com.mcdonalds.gma


看到这样子的情况的话就是成功了,注意这里粉红色部分, 还给出了砸成功之后的存储路径,我们拷贝下它

把成果拿到本地验证

方法有很多, 例如用ifunbox打开上面的路径,直接拿出来, 但是我的9.3.5的没有办法在Ifunbox查看系统目录, 所以用下路的这个方法

–> 就是压缩然后scp到本地

验收

1
otool -l tagerBinary | grep cryptid


意料之中的cryptid=0
为啥只显示一个,因为它只有一个架构arm_v7

[后面的话把逆向的轮子方法一并列出]

© 2020 In 'flight of thought' All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero