App Store应用脱壳

首先还是感谢snakeninny

用Clutch也行 , Clutch -i ,然后Clutch -d 数字

退而求其次, 选择了dumpdecrypted , 利用的就是dump拷贝技术. 加壳的app在手机运行的时候是脱壳状态, 并且在内存中连续存储 , 只要能把这份内存拷贝出来, 就能重新生成脱壳的APP .

1.下载dumpdecrypted源码

源码地址:https://github.com/stefanesser/dumpdecrypted/archive/master.zip , 下载后放到常用位置我的位置是/Users/DH/code/Code/dumpdecrypted-master

2.编译Makefile

我们看dumpdecrypted-master 目录 , 有一个Makefile , 直接编译

localhost:~ DH$ cd /Users/DH/code/dumpdecrypted-master 
localhost:dumpdecrypted-master DH$ make
`xcrun --sdk iphoneos --find gcc` -Os  -Wimplicit -isysroot `xcrun --sdk iphoneos --show-sdk-path` -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/Frameworks -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/PrivateFrameworks -arch armv7 -arch armv7s -arch arm64 -c -o dumpdecrypted.o dumpdecrypted.c 
`xcrun --sdk iphoneos --find gcc` -Os  -Wimplicit -isysroot `xcrun --sdk iphoneos --show-sdk-path` -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/Frameworks -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/PrivateFrameworks -arch armv7 -arch armv7s -arch arm64 -dynamiclib -o dumpdecrypted.dylib dumpdecrypted.o

会生成一个dumpdecrypted.dylib

3.用SSH连接到手机

可以选用wifi链接, 也可以用USB链接 ,我更喜欢用USB链接
wifi:
ssh root@iphoneIP 

USB

/User/DH/code/USBSSH/tcprelay.py - t 22:5555
ssh root@localhost -p 5555

4.用ps -e 定位APP

1.首先先运行你要定位的APP
2.dinghaoyueyuceshiji:~ root# ps -e
  PID TTY           TIME CMD
    1 ??         0:34.89 /sbin/launchd
  ....
 1571 ??         0:02.36 /var/mobile/Containers/Bundle/Application/0FC82FA4-C182-4FED-927A-ACF8A539858C/WeChat.app/WeChat
 1576 ??         0:00.36 sshd: root@ttys000 
 1580 ??         0:01.90 /var/mobile/Containers/Bundle/Application/DBD2DC2E-B871-468E-8134-9107C8BCB48B/OPlayer Lite.app/OPlayer Lite
 1578 ttys000    0:00.06 -sh
 1585 ttys000    0:00.01 ps -e
找到你的应用

/var/mobile/Containers/Bundle/Application/DBD2DC2E-B871-468E-8134-9107C8BCB48B/OPlayer Lite.app/OPlayer Lite
这个Oplayer Lite就是 或者使用它的PID 1580
App Store下载的应用在目录/var/mobile/Containers/Bundle/Application 下就能找到

5.用Cycript找出OPlayer Lite的Documents目录路径。

Cycript在Cydia自带源Cydia/Telesphoreo中就有
dinghaoyueyuceshiji:~ root# cycript -p 1580
cy# 

输入cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
会出来结果:
#"file:///var/mobile/Containers/Data/Application/C66F8EB9-D667-468A-BCAE-041DE6A03BB9/Documents/"

6.将dumpdecrypted.dylib拷贝到Documents目录下(拷贝到/var/mobile 下面更方便)

重新打开命令行
localhost:~ DH$ scp /Users/DH/code/dumpdecrypted-master/dumpdecrypted.dylib root@192.168.1.55:/var/mobile/Containers/Data/Application/C66F8EB9-D667-468A-BCAE-041DE6A03BB9/Documents/
The authenticity of host '192.168.1.55 (192.168.1.55)' can't be established.
RSA key fingerprint is f9:dd:8b:b9:0e:62:e2:75:55:e3:0b:15:8f:2e:cd:09.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.55' (RSA) to the list of known hosts.
root@192.168.1.55's password: 
dumpdecrypted.dylib                           100%  193KB 192.9KB/s   00:00   

这个拷贝我不会 ,我都是用pp助手之类的直接拖拽进去

7.开始砸壳

0.打开应用, 然后ps -e , 找到目录
1.cd /var/mobile
2.su mobile
3.DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib  /var/mobile/Containers/Bundle/Application/DBD2DC2E-B871-468E-8134-9107C8BCB48B/XXX.app/XXX\ XXX
4.然后再/var/mobile 目录下的就是了
下面的内容比较复杂, 有兴趣的看看
1.找到刚才连接手机的并运行了cycript -p PID 的那个命令行 
2.然后control + D 退出cycript
3.cd /var/mobile/Containers/Data/Application/C66F8EB9-D667-468A-BCAE-041DE6A03BB9/Documents/
4.dinghaoyueyuceshiji:/var/mobile/Containers/Data/Application/C66F8EB9-D667-468A-BCAE-041DE6A03BB9/Documents root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/DBD2DC2E-B871-468E-8134-9107C8BCB48B/OPlayer\ Lite.app/OPlayer\ Lite
DISCLAIMER: This tool is only meant for security research purposes, not for application crackers.

如果出现 Killed: 9

su mobile 

继续执行第4

[+] detected 64bit ARM binary in memory.
[+] offset to cryptid found: @0x100010c58(from 0x100010000) = c58
[+] Found encrypted data at address 00004000 of length 18710528 bytes - type 1.
[+] Opening /private/var/mobile/Containers/Bundle/Application/DBD2DC2E-B871-468E-8134-9107C8BCB48B/OPlayer Lite.app/OPlayer Lite for reading.
[+] Reading header
[+] Detecting header type
[+] Executable is a FAT image - searching for right architecture
[+] Correct arch is at offset 24346624 in the file

上面第四条命令有点长 , 大家仔细点, 后面跟着的是用ps -e出来的app的地址 . 如果APP名字有空格, 注意加\
当前目录会生成
dinghaoyueyuceshiji:/var/mobile/Containers/Data/Application/C66F8EB9-D667-468A-BCAE-041DE6A03BB9/Documents root# ls
OPlayer Lite.decrypted  OPlayerLite.zip  dumpdecrypted.dylib
其中的OPlayerLite.zip是自己压缩的 , 应该会有一个OPlayer Lite.decrypted 和dumpdecrypted.dylib两个文件

8.拷贝到MAC

1.查看mac当前的地址 , 我的是192.168.1.28
2.知道自己的root账户密码, 如果不知道
如果不知道root用户密码,需要重设。
  命令[sudo passwd root ]
  然后提示你输入当前登录用户密码,通过以后,
  提示你输入两遍root的密码。
  这样你就设置好root帐号密码了
localhost:~ DH$ sudo passwd root
Password:
Changing password for root.
New password:
Retype new password:
3.如果知道root密码 直接在终端输入
dinghaoyueyuceshiji:/var/mobile/Containers/Data/Application/C66F8EB9-D667-468A-BCAE-041DE6A03BB9/Documents root# scp OPlayer\ Lite.decrypted root@192.168.1.28:/Users/DH/code/
Password:
OPlayer Lite.decrypted                                                                                                                  100%   49MB   1.5MB/s   00:33   

9.转换OPlayer Lite.decrypted

此时我们把OPlayer Lite.decrypted的扩展名去掉
运行下面的代码:
lipo OPlayer\ Lite -thin arm64 -output Oplayer_arm64
Oplayer_arm64就是一个无壳文件了 , 将ipa包里面的替换掉,这就是一个无壳的APP了。

ifunbox 可能提示未越狱 去cydia 下载Apple File Conduit 2
如果不会替换就回复我

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

推荐阅读更多精彩内容