锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
如何在iOS应用程序中用Frida来绕过“越狱检测”

作者: 佚名  日期:2017-05-13 13:10:28   来源: 本站整理


本文我将为大家展示,如何在iOS应用程序中使用Frida来绕过越狱检测。在正式开始之前,让我们先来简单了解下本文的具体流程。
以下是本文将要介绍的内容:
Frida框架介绍
Frida在iOS上的设置
将Frida连接到一个iOS进程
dump类和方法信息
使用Frida进行iOS应用程序的运行时操作
总结
Frida介绍
Frida是一款基于python + javascript 的hook与调试框架。它允许你将 JavaScript 的部分代码或者你自己的库注入到 windows、macos、linux、iOS、Android,以及 QNX 的原生应用中,同时能完全访问内存和功能。
该工具由OleAndréV.Ravnås(@oleavr)开发,并且还有一个非常活跃的IRC频道,在这里你可以与其他许多同样热衷于Frida的技术人员探讨交流。你可以通过irc.freenode.net上的#frida加入IRC。
Frida的一些实际用例(根据自身使用的目的而定)–
hook特定函数并更改返回值
分析定制协议,并迅速嗅探/解密流量
对自己的应用程序进行调试
从iOS应用程序中dump类和方法信息
等等。
除以上提到的作用之外,Frida 还提供了一系列的 API 以及方法。你可以使用命令行窗口或者像 frida-trace 的记录 low-level 函数(例如 libc.so 中的’open’调用)的工具来快速运行。你可以使用C,NodeJs或者Python绑定来完成更加复杂的工作。因此,Frida 也是我强烈推荐大家使用的安全或分析工具的首选。目前,已经有好几种工具都建立在了Frida上,包括Needle 和AppMon。
Frida的另一大优势就是,可以在非越狱的设备上正常工作。为了更好的运行Frida来调试非越狱设备上的应用程序,你可以使用Swizzler2等工具来修改应用程序,以便在应用程序中添加FridaGadget dylib。
Frida在iOS上的设置
Frida在ios上的设置也非常的简单,只需要在你的iOS设备以及主机上执行以下操作。
要在你的iOS设备上安装Frida服务器,请参照以下步骤。
1.在你的iOS设备上打开Cydia应用程序。
2.添加一个源,URL为:https://build.frida.re

3.打开Source或搜索Frida,单击Modify,然后单击Install。

为了在你的系统上安装Frida的Python绑定,你需要启动erminal并输入pip install frida来进行安装。
将Frida连接到一个iOS进程
现在我们已经安装了Frida。下面我们就要正式开始使用Frida,对我们的iOS应用程序进行安全评估和开发了!
在本案例中,我们将使用Damn Vulnerable iOS App(DVIA)这款包含大量安全漏洞的app来进行测试,你可以从这里下载到它。以下大部分所使用的ios app Frida测试脚本你可以在Github获取到。
我们将分析DVIA的越狱检测行为,目前该设备显示已越狱。

让我们先来查看下,目标设备上所有正在运行的进程有哪些:
frida-ps –U

从上面的截图我们可以看到,所有当前正在运行的进程。
下面让我们来attach一个进程。你可以通过 ‘frida -U 进程名’ 的格式来attach某个进程。成功attach后,我们将进入到frida的控制台界面,在该控制台我们可以访问到目标进程的所有不同属性,内存内容和功能。

我们可以在Frida的shell中工作,并与我们的进程进行交互,或者我们还可以通过编写自己的JavaScript,来获取我们想要的数据。
dump类和方法信息
这项工作的目的是为了确定在DVIA的越狱检测中,负责验证我们的设备是否越狱的ViewController和function是哪个。
我们先来写一个基本的Frida脚本,来转储目标应用程序中存在的所有类和方法。在这里,我们将寻找与越狱相关所有的内容,以便我们能够在Frida的帮助下绕过越狱检测。
基本操作流程如下:

使用Frida查找DVIA中的越狱检测类
我们先来看看,应用程序中的类都有哪些。
for (var className in ObjC.classes)
    {
        if (ObjC.classes.hasOwnProperty(className))
        {
            console.log(className);
        }
}
一旦运行它,你会看到Frida成功attach到目标进程(如下图所示),随后它将为我们显示目标进程中的所有类。



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等