IOS逆向分析—终极详细(三)

IOS逆向分析---终极详细(三)


前言

本文是个人完成对IOS上APP分析的整个过程,当然对于不同的机型还会遇到不同的情况,谨以此文供大家参考,如有错误,望大佬们多多指教


一、逆向分析是什么?

逆向工程(又称反向工程),是一种技术过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能性能规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。 上面是正儿八经的介绍。我做这个就是为了工作需要,要分析其它的视频类APP,所以就开始了苦逼的折腾iPhone的过程。

二、IDA分析

1.下载并安装IDA

Mac版本地址为:https://github.com/swfangzhang/IDA-pro-7-for-Catalina-OSX-15,这是破解版的,亲测有效。

2.安装插件

IDA要安装一个很有用的插件keypatch,首先安装它的底层依赖keystone-engine,命令如下所示:

bash 复制代码
sudo pip install keystone-engine

检查一下其是否安装到了IDA中,首先到IDA中的python控制台中输入print sys.path,看输出结果中是否有keystone。如果没有的话,那就将安装的keystone拷贝到IDA运行程序中,命令如下所示:

bash 复制代码
sudo cp -r /Library/Python/2.7/site-packages/keystone /Applications/IDA\ Pro\ <version>/ida64.app/Contents/MacOS/python

其中/Library/Python/2.7/site-packages/keystone为keystone的安装地址,不一定是这个,可以在安装的时候记一下,或者使用brew查找一下keystone的安装地址,拷贝到IDA安装程序的Contents中的相应地址中即可。然后安装keypatch,git地址为:https://github.com/keystone-engine/keypatch。

将keypatch.py 复制到/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/plugins中,然后重启IDA,在Edit中就能找到keypatch。该工具的主要作用就是修改我们要分析的二进制文件。

3.加载二进制

重点来了!!!

将某.ipa(接下来某都用aweme来替换)中的aweme应用程序中的aweme二进制文件拖进IDA,等待它加载就可以了(这时就忙别的去吧,没有个两三个小时完不成的)

4.代码分析

加载完成后,会直接定位到start函数中,会与下面的代码类似的情况:

__text:000000010438E3FC MOV X0, #0x1A

__text:000000010438E400 MOV X1, #0x1F

__text:000000010438E404 MOV X2, #0

__text:000000010438E408 MOV X3, #0

__text:000000010438E40C MOV X16, #0

__text:000000010438E410 SVC 0x80

当我们看到SVC 0x80的时候,就知道这个app在这里利用SVC 0x80做了反调试的操作,原理请自行百度。这里的破解就是使用我们之前安装的keypatch,ctrl+alt+k对X1寄存器的数值进行修改,原始数值为0x1F,修改为0即可。修改完毕后,切记如下操作,并保存到正在分析的二进制文件中:

5.其它

另外,利用IDA可以进行一些静态分析的操作。例如加载完成后,按F5就可以反汇编,或者点击View-》open subviews-》Generate pseudocode。

总结

下一章讲解动态分析过程,敬请期待!!!

好好学习,天天向上!!!

喜欢的给个三连!!!

感谢大家!!!

相关推荐
️ 邪神7 分钟前
【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
flutter·ios·鸿蒙·reactnative·anroid
比格丽巴格丽抱12 小时前
flutter项目苹果编译运行打包上线
flutter·ios
.Ayang12 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
.Ayang13 小时前
SSRF 漏洞全解析(概述、攻击流程、危害、挖掘与相关函数)
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·安全架构
网络安全-老纪13 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
1024小神16 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
lzhdim17 小时前
iPhone 17 Air看点汇总:薄至6mm 刷新苹果轻薄纪录
ios·iphone
安和昂17 小时前
【iOS】知乎日报第四周总结
ios
麦田里的守望者江19 小时前
KMP 中的 expect 和 actual 声明
android·ios·kotlin
_黎明21 小时前
【Swift】字符串和字符
开发语言·ios·swift