iOS逆向教程之logify跟踪方法的调用

下面是针对“iOS逆向教程之logify跟踪方法的调用”进行的详细解释和示例说明:

一、logify跟踪方法的调用

logify是一种iOS逆向工具,可以通过Hook方法中的所有调用,来跟踪方法的整个调用过程,这对于逆向分析非常有用,这里介绍如何使用logify进行方法调用跟踪:

1.1 安装logify插件

首先需要使用Cydia的源安装logify插件,命令:

apt-get install logify

1.2 使用logify进行方法跟踪

在需要跟踪方法调用的位置,加入如下代码片段:

static __attribute__((constructor)) void _init(){
    logify(@"[Begin]%s",__FUNCTION__);
}

其中__FUNCTION__是当前方法的名称,logify会输出该方法的名称和调用者信息。

1.3 logify的输出

logify会将输出的信息保存在/usr/logify/logify.log文件中,默认情况下,这个文件只能够由root用户来查看。

二、示例说明

下面给出两个实例,分别演示如何使用logify进行方法跟踪的:

2.1 实例1:跟踪SpringBoard的调用

在SpringBoard界面内,我们通过点击Home按钮,可以回到桌面,接下来我们来跟踪这个过程中方法的调用情况:

  1. 安装logify插件(命令:apt-get install logify
  2. 在SpringBoard类的下面添加如下代码片段:
- (void)applicationDidBecomeActive:(UIApplication *)application {
        static __attribute__((constructor)) void _init(){
            logify(@"[Begin]%s",__FUNCTION__);
        }
    }
  1. 在Terminal中输入如下命令来查看logify的结果:
$ sudo tail -f /usr/logify/logify.log

然后再按下Home键,就能看到所调用的一堆方法了。

2.2 实例2:跟踪QQ加密算法的调用

我们知道,QQ应用内有较多的网络加密操作,接下来我们来通过跟踪QQ加密算法的调用情况,来了解这些操作的具体实现过程:

  1. 首先需要安装QQ应用
  2. 安装logify插件(命令:apt-get install logify
  3. 在QQ加密算法所在的类中添加如下代码片段:
- (void)encrypt:(NSString *)plainText key:(NSString *)key callback:(id)callback{
        static __attribute__((constructor)) void _init(){
            logify(@"[Begin]%s",__FUNCTION__);
        }
    }
  1. 在Terminal中输入如下命令来查看logify的结果:
$ sudo tail -f /usr/logify/logify.log

然后就可以启动QQ应用并进行一个网络操作来了解加密算法的调用情况了。

以上就是我对“iOS逆向教程之logify跟踪方法的调用”的解释和说明,希望对您有所帮助。如果您还有其他疑问或需要进一步讨论,欢迎随时在后续营销沟通中向我提出。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:iOS逆向教程之logify跟踪方法的调用 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • Android日期选择控件使用详解

    Android日期选择控件使用详解 简介 Android提供了很多可以帮助我们简化应用程序开发的组件或者控件,其中一个比较常用的组件就是日期选择控件。 在Android应用程序中使用日期选择控件可以帮助我们实现多种功能,比如选择出生日期、选择活动时间等。 本文将介绍如何使用Android日期选择控件,包括日期选择控件的使用方法、属性设置以及监听事件等。 日期…

    other 2023年6月27日
    00
  • CAD怎么制作重合/垂直/水平以及相等约束?

    CAD(计算机辅助设计)软件可以帮助设计师创建和编辑二维和三维模型。在CAD中,约束是一种工具,用于控制和限制对象的位置和关系。下面是关于如何在CAD中创建重合、垂直、水平和相等约束的详细攻略: 1. 重合约束 重合约束用于将两个或多个对象的位置重合在一起。以下是在CAD中创建重合约束的步骤: 步骤 1:选择第一个对象。这可以是点、线、圆、多边形等。 步骤 …

    other 2023年7月28日
    00
  • 浅谈Java中的可变参数

    浅谈Java中的可变参数 可变参数是Java中的一个特殊语法,用于指定方法中的某个参数可以接收不定数量的参数。可变参数被称为varargs,是从Java 5开始支持的。 什么是可变参数 在Java中,可变参数是指在方法的参数列表中使用省略号(…)来表示接收不定数量的参数,这些参数的类型必须一致。 public void method(String… …

    other 2023年6月26日
    00
  • 看门狗2闪退怎么解决 看门狗闪退解决方案

    看门狗2闪退怎么解决?看门狗闪退解决方案 前言 《看门狗2》是一款由育碧公司制作的开放世界动作冒险游戏,自2016年发布以来备受好评。然而,在使用游戏时,可能会出现闪退情况,这会影响到玩家的游戏体验。在这篇文章中,我们将为大家详细介绍如何解决“看门狗2闪退”的问题,以及其他看门狗闪退的解决方案。 解决看门狗2闪退方法 1.检查电脑是否符合最低硬件要求 在玩这…

    other 2023年6月26日
    00
  • 小米65W PD充电器值得买吗 小米65W PD充电器详细评测

    小米65W PD充电器详细评测攻略 1. 产品概述 小米65W PD充电器是一款高功率的便携式充电器,支持USB Power Delivery(PD)快充技术。它具有多种安全保护功能和广泛的兼容性,适用于多种设备的快速充电。 2. 充电速度和效率测试 为了评估小米65W PD充电器的充电速度和效率,我们进行了以下测试: 示例说明1:手机充电测试 我们使用一部…

    other 2023年10月18日
    00
  • Wind10如何开启纯命令行模式?

    开启Wind10纯命令行模式的步骤如下: 步骤一:打开“运行”窗口 按下Win + R键组合,打开“运行”窗口。 步骤二:输入命令 在“运行”窗口中输入“cmd”命令,然后按下回车键即可。此时,Wind10将会在命令行模式下启动。 示例一 在命令行模式下,可以使用ping命令测试互联网连接。例如,输入以下命令: ping www.baidu.com 其中,w…

    other 2023年6月26日
    00
  • SpringBoot集成vue的开发解决方案

    下面我将详细介绍SpringBoot集成vue的开发解决方案,包括开发过程和两个示例说明。 一、开发过程 1. 创建SpringBoot项目 首先,我们需要创建一个SpringBoot项目。创建SpringBoot项目有多种方式,这里我们以使用Spring Initializr为例。使用该工具创建一个基本的SpringBoot项目,同时添加Web、Thyme…

    other 2023年6月26日
    00
  • Android实现带进度条的WebView

    Android实现带进度条的WebView攻略 在Android应用中实现带进度条的WebView可以提供更好的用户体验。下面是一个完整的攻略,包含了两个示例说明。 步骤1:布局文件 首先,在布局文件中定义一个ProgressBar和一个WebView,如下所示: <RelativeLayout xmlns:android=\"http://…

    other 2023年9月7日
    00
合作推广
合作推广
分享本页
返回顶部