五分钟学会ios反编译

admin 2022年3月18日00:18:54评论1,148 views字数 1781阅读5分56秒阅读模式

五分钟学会ios反编译

破军安全实验室


    忆享科技旗下高端的网络安全攻防服务团队.安服内容包括渗透测试、代码审计、应急响应、漏洞研究、威胁情报、安全运维、攻防演练等

本文约1700字,阅读约需5分钟。



五分钟学会ios反编译

0x00 前言



最近对ios反编译很感兴趣,就在业余时间里自己在上网找了各种资料学习,于是有了下面的文章,希望对大家学习有所帮助



五分钟学会ios反编译

0x01 查看程序是否加壳



Mac 下通过Appstore安装的程序都存放在/Applications


这里以某app为例

五分钟学会ios反编译


五分钟学会ios反编译



找到可执行文件


五分钟学会ios反编译



使用mac自带的otool命令

otool -l Panda |grep crypt


五分钟学会ios反编译


Cryptid 等于1 表示加密过的,需要解密后才能使用class-dump反编译


Cryptid 等于0 则可以直接使用class-dump反编译



五分钟学会ios反编译

0x02 脱壳


https://github.com/AloneMonkey/frida-ios-dump

苹果手机通过数据线连接Mac,期间数据线不能断,使用爱思助手越狱后,在爱思助手打开ssh通道

五分钟学会ios反编译

 

下载frida ,注意手机端的和Mac端的必须版本一致,不然会有一堆解决不了的bug

https://github.com/frida/frida/releases?page=9

如下,这里建议就选择我的这个版本,我试了很多版本,不是Mac端安装了没法使用frida,就是手机端的ios版本太低,导致dpkg装不上对应的deb包。然后需要更新dpkg等一系列问题

五分钟学会ios反编译


通过Scp命令的方式,将下载的deb包发送给手机


五分钟学会ios反编译


然后ssh到手机


五分钟学会ios反编译


使用dpkg -i xxx.deb命令,即可在手机上安装上frida


五分钟学会ios反编译


安装好了之后会自动运行frida-server


五分钟学会ios反编译


Mac安装pip3依赖
注意将requirements.txt的frida-tools删掉,我们手动装对应版本
pip3 install frida-tools==8.1.3


pip3 install -r requirements.txt

 

五分钟学会ios反编译



使用frida-ls-devices命令查看电脑连接的iOS设备信息


五分钟学会ios反编译


使用frida-ps -Ua命令,能有回显,证明github项目的frida-ios-dump可以使用


五分钟学会ios反编译

 

手机端运行对应的软件,这里我拿的TikTok举例子
手机端运行TikTok程序,然后Mac端就可以通过frida-ps -Ua查看到对应的程序


五分钟学会ios反编译


这样便将TikTok的壳给脱了


五分钟学会ios反编译



五分钟学会ios反编译

0x03获取ipa文件源码



这里拿某个ipa举例子


五分钟学会ios反编译



重命名为rar,解压,得到payload文件夹


五分钟学会ios反编译



进入Payload文件夹,该文件夹下的文件就是所有资源文件


五分钟学会ios反编译



重命名该文件,去掉隐藏的后缀.app即可


五分钟学会ios反编译


五分钟学会ios反编译


打开该文件里面就是我们需要的东西了


五分钟学会ios反编译


FTPhoneXXX为我们需要反编译的文件,可以获得头文件
两个db是sqlite文件,可以打开


在该目录搜索文件敏感内容


五分钟学会ios反编译



比较需要关注的就是Info.plist这个文件,里面的配置比较多

Api和key也比较多


将FTPhoneXXX放到class-dump项目里

https://github.com/nygard/class-dump/



五分钟学会ios反编译


使用命令:

./class-dump -H FTPhoneXXX.app -o XXX_pojie

将反编译后的文件输出到目录XXX_pojie


五分钟学会ios反编译



如果出现这样的错误,说明项目是Swift-OC混编的。而class-dump没法用于swift语言的App,此时只能使用IDA静态查看了。

对于Swift-OC混编的App,需要选择针对swift定制版的class-dump

项目地址:

https://github.com/AloneMonkey/MonkeyDev


将FTPhoneXXX复制到/MonkeyDev/bin


五分钟学会ios反编译


执行命令:

./class-dump -H FTPhoneXXX.app -o XXX_pojie


五分钟学会ios反编译


五分钟学会ios反编译


五分钟学会ios反编译


反编译完成


 声明

    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,破军安全实验室及文章作者不为此承担任何责任。

    破军安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经破军安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。


五分钟学会ios反编译

破军安全实验室

# 长按二维码 关注我们 #



原文始发于微信公众号(破军安全实验室):五分钟学会ios反编译

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月18日00:18:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   五分钟学会ios反编译http://cn-sec.com/archives/832493.html

发表评论

匿名网友 填写信息