获取ipa、脱壳

获取ipa

1.抓包获取

1.手机上有thos可以实现全局抓包获取 特别注意的是,手机的全局代理在运行商店的时候,网络可能会出现问题。比较稳妥的操作是连2.4G的wifi(5Gwifi商店没网了但是其它APP正常,不知道是不是thos版本的问题),提前购买了APP(这样可以避免下载的时候的账号验证) 2.电脑上可以使用Charles或者其他抓包工具 抓包可以获取到App Store的ipa链接,可以直接http下载。但是下载下来的ipa文件无法解压。

2.使用appleconfigurator 2

使用苹果自己的软件,登录账户,在操作菜单中点击添加找到自己想获取的app,提示app已存在时,不做任何操作,打开finder command+shift+g 到~/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps/就能看到ipa文件了,值得注意的是这里的ipa可解压。不过有加壳。 先看解压的文件结构:

1
2
3
4
5
6
7
8
9
tree

├── META-INF
│   ├── com.apple.FixedZipMetadata.bin
│   └── com.apple.ZipMetadata.plist
├── Payload
│   └── caiyunInterpreter.app
├── iTunesArtwork
└── iTunesMetadata.plist

显示caiyunInterpreter.app的包内容,可以按文件大小排序可以看到最大的二进制文件caiyunInterpreter

1
2
3
4
5
6
7
otool -l caiyunInterpreter |grep crypt
     cryptoff 16384
    cryptsize 8273920
      cryptid 1
     cryptoff 16384
    cryptsize 8945664
      cryptid 1

使用otool命令,查看cyptid。其值为1表示加壳,0表示未加壳。

脱壳

1.Clutch

脱壳工具Clush可在github上看到源代码。下载其编译好后的二进制,scp到手机的/usr/bin目录。使用Clutch -i查看已安装的软件列表

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Installed apps:
1:   QQ邮箱 <com.tencent.qqmail>
2:   微信 <com.tencent.xin>
3:   优酷视频-刘老根3精彩呈现 <com.youku.YouKu>
4:   米家-精品商城 智能生活 <com.xiaomi.mihome>
5:   YouTube <com.google.ios.youtube>
6:   当当-9.9元超值购物秒杀 <com.dangdang.iphone>
7:   有道云笔记 - 扫描王版 <com.youdao.note.iphone>
8:   拉勾招聘-互联网求职找工作必备 <com.lagou.lagouhr>
9:   支付宝 - 让生活更简单 <com.alipay.iphoneclient>

对微信进行脱壳:

1
Clutch -d com.tencent.xin

当然了并不能成功。

2.dumpdecrypted

dumpdecrypted也是在github上有源代码,但是需要自己编译。下载源码运行make的时候报错了,错误信息大致如下:

1
2
3
4
5
6
7
xcrun: error: SDK "iphoneos"cannot be located

xcrun: error: unableto lookup item 'Path'inSDK 'iphoneos'

clang: warning: nosuch sysroot directory: '-F/System/Library/Frameworks' [-Wmissing-sysroot]

dumpdecrypted.c:27:10:fatal error: 'stdio.h' file not found

无法找到对应的 SDK 和 stdio.h 文件, 这种问题大多数是 Xcode 路径造成的.

使用下面的命令看一下系统指向的 Xcode 路径:

1
2
3
4
xcode-select -p


/Library/Developer/CommandLineTools

显然不是 Xcode 的路径, 那只能重新切换一下其路径即指向正确的 Xcode 路径即可.

命令如下:

1
2
3
4
5
6
7
8
9
sudo xcode-select --switch /Applications/Xcode.app
make
tree
.
├── Makefile
├── README
├── dumpdecrypted.c
├── dumpdecrypted.dylib
└── dumpdecrypted.o

编译 dumpdecrypted成功.然后需要对dumpdecrypted.dylib进行签名 两种方式: 1.ldid ldid -S dumpdecrypted.dylib 2.codesign

1
codesign -f -s - ./dumpdecrypted.dylib

scp到ios /usr/bin 具体使用教程可百度

3.binject

以上的两个脱壳软件针对的是ios11之前了,binject可支持ios11–ios11.2。由于现在都是IOS13了直接跳过。

4.crackerxi (ios11–ios13)

cydia添加源http://cydia.iphonecake.com/,setting除了fakesign都打钩,直接生成脱壳后的ipa一步到位。

使用 Hugo 构建
主题 StackJimmy 设计