bin文件查看器app_脱壳别人的APP

一.为什么要脱壳别人的APP

1.:我们从App Store下载的应用,是有Apple进行了FairPlayDRM数字版权加密了的。

2.:作为从事app开发的人员,如果我们看到其他人的APP某个不错的效果想看看他们是怎么实现的,或者我们想看看它使用了那些第三方,或者甚至我们想要编写插件,例如去广告,变会员等等。我们就需要探索它的UI层级,使用类的类名和方法,代码编写的逻辑等等。而这些工作我们需要借助一些工具,这些工具几乎都是基于这个APP要被脱壳。

二.怎么查看自己手机上有哪些APP是脱壳的和未脱壳的

1.需要用Cydia安装下面这插件,越狱完手机一般默认已经安装了这个插件

c2730dc25d6da06aecd9341d58a70736.png

使用电脑通过usb连接我们的手机,在终端执行

ps -A 

会输出我们手机上安装的app,因为打印很多,这里只截取了部分

7840fa95b0bb4f6ee3daa1fb8ac94251.png

可以使用

ps -A | grep 你猜猜的应用的名字     

例如你想看微信 你可以输入 weChat 试试,我瞎猜的 。 这样打印会少一些,方便查找。在输入里有应用在你手机文件系统里的路径,例如/var/mobile/containers/Bundle/Application/.... 。使用iFunBox将app的文件,拖到电脑上然后找到APP的可执行文件.

2.查看是否脱壳,可以使用MachOView软件和命令行查看。

MachOView查看如图

782ded5d0b68ad530241aa28e2b2dc2e.png

Crypt ID为1表示加壳了,为0表示未加壳.

命令行查看看使用otool -l 可执行文件 | grep crypt,如下也可以看到cryptid

otool -l 可执行文件 | grep crypt
 cryptoff 16384
 cryptsize 49152
 cryptid 0

三.脱壳被人的APP

给APP脱壳,一般我们使用如下工具

  1. Clutch (iOS11以下的可以使用)
  2. dumpdecrypted (iOS11以下的可以使用)
  3. bfinject (iOS11~iOS11.2可以使用)
  4. CrackerXI (iOS11~iOS13可以使用)
  5. Frida
  6. ............

工具有很多,下面介绍Clutch和 CrackerXI,Frida吧

1.Clutch脱壳

这是一个全自动脱壳工具,原理是把应用运行时的内存数据按照一定格式导出,重新打包成ipa。Clutch下载地址https://github.com/KJCracks/Clutch。下载下来后,使用iFunBox打开手机目录,将Clutch文件移动到手机的Device/usr/bin 目录下,目的是为了,连接手机的时候,可以执行Clutch命令来进行脱壳

015c5a046de965c158ece13937624ca4.png

然后在mac连接我们的iPhone,执行Clutch看看有什么命令可以让我们使用,如果你遇见下面,提示权限不足

9109c4ea8e1fcaaae7c0295a7f074b32.png

那就需要我们给文件赋予权限,执行命令:

chmod +x /usr/bin/Clutch

让后再执行Clutch,就可以看看有哪些命令了

971a26f40f7bca1c0888c3a9f6f780ac.png

可以看到上图,Clutch可以执行以上命令。我们使用上图一个命令:Clutch -i。查看下自己手机上有哪些app

424f3a17521600814756bd1415f4a49b.png

可以看到我手机上,有12个应用可以被脱壳。比如我们使用

Clutch -d 12  
//注:12表示的就是上图的最后一个应用:微软翻译,12可以用:com.microsoft.translator替代

当打印出现下面两行打印,即表示脱壳成功,且第一行表示了脱口后保存的ipa的目录

DONE:/private/var/mobile/Documents/Dumped/com.microsoft.translator.xxx.ipa
Finished dumping com.microsoft.translator in 15.1 seconds

注:犹豫大部分人手机都是iOS13了,所有dumpdecrypted和bfinject就不演示了。而CrackerXi是可以脱壳在iOS13系统上脱壳应用的

2.CrackerXi

在cydia中添加 源地址http://cydia.iphonecake.com。当添加源完成后,手机桌面会出现一个CracherXi应用,如果没有出现。点击刚刚安装的软件源->全部安装包->CrackerXi+ ->安装,如图

ae78491d284b044d6e761da1a15cb7bb.png

然后打开CracherXi,在setting如下图打开开关,然后在AppList选择你要脱壳的应用,然后选择YES,Full IPA。如图:

3e109e31890116833dca41721fcf436b.png

脱壳后的文件在/var/mobile/Documents/CrackerXI 下的一个.ipa,使用IFunBox打开找到目录,拖出来即可.如图脱壳的Translator应用

a19afa3d8c62360a074fa22c1b477daa.png

3.Frida脱壳

Frida的安装需要在手机端和Mac端都需要安装,注意:让手机端安装的Frida版本与Mac安装的Frida版本一致

ios手机端配置

  1. 手机端cydia 添加源:https://build.frida.re
  2. 搜索Frida,进行安装
  3. 安装成功验证
iPhone:~ root# ps -ax | grep frida    
  409 ??         0:00.89 /usr/sbin/frida-server
 2050 ttys000    0:00.01 grep frida

ps -ax | grep frida 为执行命令,看到如上打印即可

Mac端

我们需要安装python ,pip ,frida ,frida-tools。由于Mac自带的Python版本为2.7.x.不建议使用了,因此我安装了Python3.7.7版本。按照如下安装

  1. brew install python //安装python
  2. brew install wget //安装wget
  3. wget https://bootstrap.pypa.io/get-pip.py
  4. sudo python3 get-pip.py //3和4安装wget
  5. sudo pip3 install frida //安装frida
  6. sudo pip3 install frida-tools //安装frida

配置frida-ios-dump环境

  1. 从github下载代码命令: sudo mkdir /opt/dump && cd /opt/dump && sudo git clone https://github.com/AloneMonkey/frida-ios-dump
  2. 根据必须插件文档equirements.txt安装依赖 :sudo pip3 install -r /opt/dump/frida-ios-dump/requirements.txt --upgrade
  3. 修改/opt/dump/frida-ios-dump/dump.py 文件的32行那里,关于mac端连接iPhone端的信息:账号,地址,端口。例如

b5537165e0e770c0fb0fd7c71dc67a41.png

使用Frida脱壳app

在 /opt/dump/frida-ios-dump 目录下有个dump.py文件,最终我们要执行这个python文件里的代码来脱壳我们的app。

在mac连接我们的app,然后使用Clutch -i查看手机上的app,如图

1a6d96c4528122bff489043e22385301.png

Frida可以使用应用名或者BundleID来进行脱壳,例如我们对com.zol.priceApp应用进行脱壳,进入 /opt/dump/frida-ios-dump 目录,执行如下命令

 python3 dump.py com.zol.priceApp -o /Users/用户名/Desktop/te/zol.ipa

然后就会在te文件下,得到一个zol.ipa。我们解压这个ipa拷贝出可执行文件ZolSoft。然后通过命令:

otool -l ZolSoft | grep crypt  //查看cryptid

或者使用MachOView查看ZolSoft,如图成功脱壳

42448d1decf80b91ae9068b599ef07b0.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值