iOS应用砸壳

设备:iOS10.3.2的5s

一:设备越狱

1.使用g0blin 进入官网下载ipa

2.然后使用Impactor 安装到手机

3.打开应用进行越狱。

4.越狱安装OpenSSL和Openssh发现电脑链接不上,网上有个大神已经提出解决方案。
a->首先卸载OpenSSL和Openssh
b->在手机cydia添加源http://cydia.ichitaso.com/test 
c->安装dropbear 
d->ssh root@手机IP (相同网段wifi)
e->默认用户root 默认密码alpine (修改默认密码命令 passwd)

二:砸壳

1.首先在cydia安装 cycript源

2.用电脑终端ssh链接到手机设备,查看当前运行到app进程

ps -e | grep var

在进程列表找到要砸壳的应用,以微信6.6.6版本为例。

3.挂钩到对应进程的,就会进入cycript的命令界面

cycript -p 1056

iOS应用砸壳_第1张图片

4.查看应用沙盒目录路径

[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]

iOS应用砸壳_第2张图片

4.记录应用进程的路径和沙盒的路径,留着后面使用,退出cycript

ctrl+d 

5.下载砸壳工具包

decript_wechat.dylib    或者dumpdecrypted.dylib

6.进入到应用沙盒目录下

iOS应用砸壳_第3张图片

8.新开一个终端,将下载的decript_wechat.dylib拷贝到设备到沙盒文件夹下

scp  ./decript_wechat.dylib root@手机设备ip:/var/mobile/Containers/Data/Application/22C48D74-5528-4EDB-A398-DADFDB26E40A/Documents/

8.执行砸壳命令

DYLD_INSERT_LIBRARIES=decript_wechat.dylib /var/containers/Bundle/Application/4C3D3D6D-7318-44C6-85B8-1F35B6EBCAAF/WeChat.app/WeChat

iOS应用砸壳_第4张图片

9.将文件拷贝回电脑,我这里就直接放桌面。因为WeChat.app是目录,所以拷贝目录scp添加-r

scp -r [email protected]:/var/containers/Bundle/Application/4C3D3D6D-7318-44C6-85B8-1F35B6EBCAAF/WeChat.app ~/desktop

拷贝沙盒文件夹,备用

scp -r [email protected]:/var/mobile/Containers/Data/Application/22C48D74-5528-4EDB-A398-DADFDB26E40A/Documents/ ~/desktop

10.手机链接的可以退出了,接下进入电脑上拷贝的Documents文件夹,返回cryptid 0 没有加密,砸壳成功。

otool -l WeChat.decrypted | grep crypt

iOS应用砸壳_第5张图片

11.重新签名打包,将拷贝到电脑的沙盒里面 *.decrypted 文件的后缀去掉,然后拷贝到WeChat.app替换。(注意:WeChat.app 显示包文件,可以进入到里面,除了WeChat,其他5个都在framework里面)

iOS应用砸壳_第6张图片

iOS应用砸壳_第7张图片

删除 WeChat.app下面的Watch和PlugIns文件夹

12.重新签名

工具下载地址:iOS App Signer - Instructions

iOS应用砸壳_第8张图片

13.安装到手机,可以使用pp助手或者使用impactor工具

效果如下,签名后在非越狱机上的效果。

iOS应用砸壳_第9张图片

问题记录:

1、错误提示

dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find:dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'

解决方法:对dumpdecrypted.dylib进行签名

## 列出可签名证书

security find-identity -v -p codesigning

## 为dumpecrypted.dylib签名

codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib

你可能感兴趣的:(一天一读,基础知识点,ios,Cycript,越狱砸壳)