破军安全实验室
本文约1700字,阅读约需5分钟。
0x00 前言
最近对ios反编译很感兴趣,就在业余时间里自己在上网找了各种资料学习,于是有了下面的文章,希望对大家学习有所帮助
0x01 查看程序是否加壳
找到可执行文件
使用mac自带的otool命令
otool -l Panda |grep crypt
Cryptid 等于1 表示加密过的,需要解密后才能使用class-dump反编译
Cryptid 等于0 则可以直接使用class-dump反编译
0x02 脱壳
https://github.com/AloneMonkey/frida-ios-dump
下载frida ,注意手机端的和Mac端的必须版本一致,不然会有一堆解决不了的bug
https://github.com/frida/frida/releases?page=9
通过Scp命令的方式,将下载的deb包发送给手机
然后ssh到手机
使用dpkg -i xxx.deb命令,即可在手机上安装上frida
安装好了之后会自动运行frida-server
pip3 install -r requirements.txt
使用frida-ls-devices命令查看电脑连接的iOS设备信息
使用frida-ps -Ua命令,能有回显,证明github项目的frida-ios-dump可以使用
这样便将TikTok的壳给脱了
0x03获取ipa文件源码
这里拿某个ipa举例子
重命名为rar,解压,得到payload文件夹
进入Payload文件夹,该文件夹下的文件就是所有资源文件
重命名该文件,去掉隐藏的后缀.app即可
打开该文件里面就是我们需要的东西了
在该目录搜索文件敏感内容
比较需要关注的就是Info.plist这个文件,里面的配置比较多
Api和key也比较多
将FTPhoneXXX放到class-dump项目里
https://github.com/nygard/class-dump/
使用命令:
./class-dump -H FTPhoneXXX.app -o XXX_pojie
将反编译后的文件输出到目录XXX_pojie里
如果出现这样的错误,说明项目是Swift-OC混编的。而class-dump没法用于swift语言的App,此时只能使用IDA静态查看了。
对于Swift-OC混编的App,需要选择针对swift定制版的class-dump
项目地址:
https://github.com/AloneMonkey/MonkeyDev
将FTPhoneXXX复制到/MonkeyDev/bin
执行命令:
./class-dump -H FTPhoneXXX.app -o XXX_pojie
反编译完成
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,破军安全实验室及文章作者不为此承担任何责任。
破军安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经破军安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
破军安全实验室
# 长按二维码 关注我们 #
原文始发于微信公众号(破军安全实验室):五分钟学会ios反编译
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论