前言
本文是个人完成对IOS上APP分析的整个过程,当然对于不同的机型还会遇到不同的情况,谨以此文供大家参考,如有错误,望大佬们多多指教一、逆向分析是什么?
逆向工程(又称反向工程),是一种技术过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能性能规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。 上面是正儿八经的介绍。我做这个就是为了工作需要,要分析其它的视频类APP,所以就开始了苦逼的折腾iPhone的过程。二、砸壳
1.所有方法
分为以下两种
- 手动砸壳。手动砸壳又分为好多种工具,目前我使用过的包括:clutch、frida以及dumpdecrypted。
- 直接到网站下载(详情请点它)。这种方案是最好的!!!!!建议直接点这里,不要浪费时间。
2.各种方法描述
以上所述的三种方法,我都尝试过,感觉最好用的是dumpdecrypted,这种方式基本所有的APP都可以实用。而使用frida的方式只成功砸壳了小破站的APP,某音的没有砸壳成功。而最不好用的应该是clutch(个人观点),安装成功了,结果什么都没有出来,错在哪也不显示,连道歉的机会都不给我🤣。接下来详细唠一下dumpdecrypted的砸壳过程。1.下载源码
2.解压,打开终端,cd到下载目录下,运行make进行编译,编译后生成dumpdecrypted.dylib文件
3.对dumpdecrypted.dylib文件进行签名操作。首先在终端运行:
## 列出可签名证书, 找到 mac 上面已经安装的证书
security find-identity -v -p codesigning
然后运行:
codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib
其中, “iPhone Developer: xxx xxxx (xxxxxxxxxx)” 为你自己本机安装的开发者证书名称。
4.通过openSSH登陆手机,然后运行:
ps -ef | grep Aweme
运行该命令后显示的就是Aweme的运行地址以及进程id等信息,以备后续使用。
5.运行以下命令:
cycript -p 进程id
然后再执行OC方法,如下所示:
[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
运行该命令后输出的就时对应的Documents目录。然后运行ctrl+d退出cycript,将我们签名过的dumpdecrypted.dylib拷贝到该Documents目录中。拷贝有两种方法:第一种就是在Mac端安装iFunbox,找个这个目录然后拖进去就可以了(十分推荐该方法);第二种就是使用scp命令,如下所示:
scp ~/dumpdecrypted.dylib root@手机ip地址:cycript找到的Documents目录
6.cd到Documents目录下,运行以下命令:
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib (4)中查到的Aweme地址
最后生成Aweme.decrypted文件,然后使用iFunBox或者scp拷贝出来,该文件就是砸壳后的app文件。
总结
下一章讲解砸壳后的APP分析以及HOOK过程,敬请期待!!!
好好学习,天天向上!!!
喜欢的给个三连!!!
感谢大家!!!