iOS砸壳

说明:

本文所有iPhone:~ root#为前缀的命令指的是SSH远程登录手机后执行的命令

SSH远程登录iPhone: https://www.jianshu.com/p/9e24088c9f2a

砸壳的原理:
我们并不知道iOS应用的解密方式, 但是iPhone设备要运行应用肯定要解密. 砸壳就是利用iPhone的解密功能活的越狱应用

1. 静态砸壳

静态砸壳使用Clutch, 主动调起iPhone的解密功能, 得到解密的APP文件

1. 下载Clutch
2. 拷贝Clutch文件拷贝的iPhone的/usr/bin/目录下
scp -P 12345 Clutch root@127.0.0.1:/usr/bin/

注意:

  1. 下载的Clutch命令行工具文件的名字可能是Clutch-x.x.x. 需要改名为Clutch
  2. Clutch需要可执行权限
iPhone:~ root# chmod +x /usr/bin/Clutch
// 查看说明
iPhone:~ root# Clutch
Usage: Clutch [OPTIONS]
-b --binary-dump <value> Only dump binary files from >specified bundleID
-d --dump <value>        Dump specified bundleID into .ipa file
-i --print-installed     Print installed applications
  --clean               Clean /var/tmp/clutch directory
  --version             Display version and exit
-? --help                Display this help and exit
-n --no-color            Print with colors disabled
  1. 目前, Clutch在iOS11的非完美越狱是不好使的
3. 查看可砸壳的应用
iPhone:~ root# Clutch -i
Installed apps:
1:   追书神器-全网更新最快的小说阅读器 <com.ifmoc.ZhuiShuShenQi>
2:   网易云音乐-音乐的力量 <com.netease.cloudmusic>
3:   微信 <com.tencent.xin>
4. 砸壳应用
iPhone:~ root# Clutch -d com.ifmoc.ZhuiShuShenQi

// 或者使用标号

iPhone:~ root# Clutch -d 1

砸壳结束后结果如下:

...
ASLR slide: 0x100060000
Dumping <YouShaQi> (arm64)
Patched cryptid (64bit segment)
Writing new checksum
DONE: /private/var/mobile/Documents/Dumped/com.ifmoc.ZhuiShuShenQi-iOS8.0-(Clutch-2.0.4).ipa
Finished dumping com.ifmoc.ZhuiShuShenQi in 26.7 seconds

其中/private/var/mobile/Documents/Dumped/com.ifmoc.ZhuiShuShenQi-iOS8.0-(Clutch-2.0.4).ipa为已经砸壳的ipa包

将IPA文件拷贝到电脑(在电脑端运行此命令)

scp -P 12345 root@127.0.0.1:/private/var/mobile/Documents/Dumped/com.ifmoc.ZhuiShuShenQi-iOS8.0-(Clutch-2.0.4).ipa ~/Desktop

可惜, 这个命令不能达到预想的效果, 我试着重命名了IPA文件(链接手机后, 进入/private/var/mobile/Documents/Dumped/目录执行)

iPhone:/private/var/mobile/Documents/Dumped root# mv ./com.ifmoc.ZhuiShuShenQi-iOS8.0-\(Clutch-2.0.4\).ipa ./shenqi.ipa

注意: 我试过了rename命令重命名, 报错-sh: syntax error near unexpected token('`

然后再拷贝

scp -P 12345 root@127.0.0.1:/private/var/mobile/Documents/Dumped/shenqi.ipa ~/Desktop

拷贝成功!!!

ps: 也可以使用iFunBox直接拷贝IPA包

5. 验证是否砸壳成功

加压桌面的IPA文件, 找到里面的Mach-O(YouShaQi)文件, 执行如下命令:

otool -l YouShaQi | grep crypt
     cryptoff 16384
    cryptsize 15990784
      cryptid 0

此时 cryptid 为 0, 即没有任何加密. 砸壳成功!!!

2. 动态砸壳

动态砸壳使用dumpdecrypted
原理: 将应用运行起来, 然后从内存中得到已经解密的Mach-O文件

1. 注入dumpdecrypted 到需要砸壳的应用
  • 下载dumpdecrypted并编译, 得到dumpdecrypted.dylib
  • 将 dumpdecrypted.dylib 拷贝进手机的home目录
scp -P 12345 dumpdecrypted.dylib root@127.0.0.1:~/
  • 将 dumpdecrypted.dylib 依赖到要砸壳的APP进程

连接手机后查看进程:

iPhone:~ root# ps -A
...
 2289 ??         0:01.49 /var/mobile/Containers/Bundle/Application/E1CB16DE-9254-4189-AE03-1799CAA8B0F9/YouShaQi.app/YouShaQi
 2291 ??         0:00.10 /System/Library/Frameworks/UIKit.framework/Support/pasteboardd
...

依赖进程, 在手机home目录下执行命令:

iPhone:~ root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/E1CB16DE-9254-4189-AE03-1799CAA8B0F9/YouShaQi.app/YouShaQi

结果如下:

[+] detected 64bit ARM binary in memory.
[+] offset to cryptid found: @0x100060d48(from 0x100060000) = d48
[+] Found encrypted data at address 00004000 of length 17367040 bytes - type 1.
[+] Opening /private/var/mobile/Containers/Bundle/Application/E1CB16DE-9254-4189-AE03-1799CAA8B0F9/YouShaQi.app/YouShaQi for reading.
[+] Reading header
[+] Detecting header type
[+] Executable is a FAT image - searching for right architecture
[+] Correct arch is at offset 18972672 in the file
[+] Opening YouShaQi.decrypted for writing.
[+] Copying the not encrypted start of the file
[+] Dumping the decrypted data into the file
[+] Copying the not encrypted remainder of the file
[+] Setting the LC_ENCRYPTION_INFO->cryptid to 0 at offset 1218d48
[+] Closing original file
[+] Closing dump file

查看当前目录

iPhone:~ root# ls
Documents  Library  Media  YouShaQi.decrypted  dumpdecrypted.dylib  reboot

YouShaQi.decrypted 就是砸壳应用的Mach-O文件

  • 拷贝Mach-O文件到电脑桌面
scp -P 12345 root@127.0.0.1:~/YouShaQi.decrypted ~/Desktop
  • 查看Mach-O文件的加密状态
otool -l YouShaQi.decrypted | grep crypt
YouShaQi.decrypted (architecture armv7):
     cryptoff 16384
    cryptsize 15990784
      cryptid 1
YouShaQi.decrypted (architecture arm64):
     cryptoff 16384
    cryptsize 17367040
      cryptid 0

arm64砸壳成功!!!

注意:

  1. 这里得到Mach-O文件只有arm64架构的砸壳成功, 因为这里使用的设备是iPhone5s(64位), 如果你想兼容armv7, 需要在armv7架构的设备(如iPhone5C)上砸壳. 然后使用otool拆分合并arm64架构和armv7架构得到一个Mach-O文件
  2. 使用dumpdecrypted 砸壳得到的是 Mach-O文件, 资源包直接使用未砸壳的就可以

DONE

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容