ios越狱c语言编译器,iOS逆向之旅(越狱篇) — 砸壳

小小科普

壳是什么鬼

我们把自己的App提交到App Store后,苹果会帮我们加一层保护壳,有了这个壳的存在,我们就没办法对App进行Class Dump、 IDA 分析、重签名等...

如何砸壳

在iOS 系统中,可执行文件、动态库都得通过 DYLD 加载执行。 在载入 App 时,会先进行 DRM 检查,检查通过则从 App 的可执行文件中,选择适合当前设备架构的 Mach-O 镜像进行解密,然后载入内存执行,这个程序并没有解密的逻辑,当他被执行时,其实加载器已经完成了目标mach-o文件的装载工作,对应的解密工作也已经完成。解密工具本生并不做解密,这些工具所做的工作是,遍历loadcommand中所有LC_ENCRYPTION_INFO或LC_ENCRYPTION_INFO_64的信息,将对应解密后的数据从内存中dump出来,复写到mach-o文件中,生成新的镜像文件,从而达到解密的效果。

Clutch就是利用了这种解密工具,进行砸壳的,这种属于静态砸壳。

还有另一种动态砸壳的方式,就是将苹果帮我解密完加载到内存中的Mach-O文件直接拷贝一份出来,这种的典型代表是dumpdecrypted。

Clutch

安装

Github上门搜索Clutch,并下载最新的release版本

3b1ae845c972

删除后面的版本数字后缀

添加到手机的/usr/bin目录下

scp -P 6699 Clutch root@localhost:/usr/bin

给可执行权限

chmod +x Clutch

使用

查看当前手机所有未砸过壳的App $Clutch -i

3b1ae845c972

砸壳

$Clutch -d 3 这里的3是索引,代表我砸的事微信的壳

接下来就会自动帮我们砸壳

3b1ae845c972

砸壳后,会把路径给到我们,我们就可以通过ifunBox取出砸壳后的ipa包,或者通过scp指令。这样就成功了~嘿嘿😜

至于如何判断砸壳成功与否,可以参考iOS逆向之旅(进阶篇) — 重签名APP(一) 说过的,我就不累赘了

Dumpdecrypted

安装

从github上面把Dumpdecrypted下下来

$github clone https://github.com/stefanesser/dumpdecrypted.git

编译

$make,编译后会生成.o与.dylib文件

3b1ae845c972

将dylib放到手机里面

scp -P 6699 dumpdecrypted.dylib root@localhost:~

将这个dylib插入到正在运行的微信中

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/...(微信进程的路径)

然后我们就可以获取到解密后的微信的Mach-O文件

3b1ae845c972

最后拿到解密后的Mach-O文件,我们就可以为所欲为了~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值