现在xxx-xxx-xxx这一段不一样了…比如在1 路径中确定了要砸的文件的路径
进入2 路径放文件的时候xxx-xxx-xxx 和1的xxx-xxx-xxx不一样…找不到路径啊…
- /var/mobile/Containers/Bundle/Applications/xxx-xxx-xxx/xxx.app/
- /var/mobile/Containers/Data/Application/xxx-xxx-xxx/Documents/
:sad:
现在xxx-xxx-xxx这一段不一样了…比如在1 路径中确定了要砸的文件的路径
进入2 路径放文件的时候xxx-xxx-xxx 和1的xxx-xxx-xxx不一样…找不到路径啊…
:sad:
摘自《iOS应用逆向工程(第2版)》:
首先用ps命令定位待砸壳的可执行文件:
在iOS 8中,StoreApp全部位于/var/mobile/Containers/下,其中可执行文件位于/var/mobile/Containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Target.app/下。我们不知道X是什么,肉眼定位需要手工遍历所有目录,劳民伤财,但一个简单的小技巧就可以省时省力:首先在iOS中关掉所有StoreApp,然后打开Target,接着ssh到iOS上,打印出所有进程:
snakeninnysiMac:~ snakeninny$ ssh root@iOSIP
FunMaker-5:~ root# ps -e
PID TTY TIME CMD
1 ?? 3:28.32 /sbin/launchd
……
5717 ?? 0:00.21 /System/Library/PrivateFrameworks/MediaServices.framework/Support/mediaartworkd
5905 ?? 0:00.20 sshd: root@ttys000
5909 ?? 0:01.86 /var/mobile/Containers/Bundle/Application/03B61840-2349-4559-B28E-0E2C6541F879/TargetApp.app/TargetApp
5911 ?? 0:00.07 /System/Library/Frameworks/UIKit.framework/Support/pasteboardd
5907 ttys000 0:00.03 -sh
5913 ttys000 0:00.01 ps –e
因为iOS上只打开了一个StoreApp,所以唯一的那个含有“/var/mobile/Containers/Bundle/Application/”字样的结果就是TargetApp可执行文件的全路径。
接着用Cycript找出TargetApp的Documents目录路径:
StoreApp的Documents目录位于/var/mobile/Containers/Data/Application/ YYYYYYYY-YYYY-YYYY-YYYY–YYYYYYYYYYYY/下,Y与之前的X值不同,而且这次PS也帮不上忙了。因此,需要借助强大的Cycript,让App告诉我们Documents的路径。命令如下:
FunMaker-5:~ root# cycript -p TargetApp
cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
#"file:///var/mobile/Containers/Data/Application/D41C4343-63AA-4BFF-904B-2146128611EE/Documents/"
太感谢了…
但是第二步提示这个问题,请问是怎么回事啊
你对照一下我贴出的内容,看看操作上有什么不同
我的…没有看仔细…谢谢.
请问内容怎么没了?居然要十个字才行。。。
貌似是数据迁移的时候漏掉了,我又补上了