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日

相关文章

  • windows常用网络命令使用脚本分享

    下面是详细讲解“Windows常用网络命令使用脚本分享”的完整攻略。 Windows常用网络命令使用脚本分享 什么是网络命令 网络命令是指在Windows操作系统中用于网络通信和管理的一系列命令行工具。使用网络命令可以实现网络的连接、诊断、管理等功能。 常用网络命令 下面是常用的几个网络命令: ipconfig ipconfig命令用于查看和配置网络适配器的…

    other 2023年6月26日
    00
  • 越狱后天气闪退 iPhone5天气闪退解决方法

    越狱后天气闪退 iPhone5天气闪退解决方法 最近有不少用户在越狱后使用天气应用时出现了闪退的问题,其中iPhone5用户尤其常见。那么这个问题到底是什么原因引起的呢?怎么才能解决这个问题呢? 问题分析 经过了解和研究,我们发现iOS的天气应用是跟系统绑定的,因此越狱后使用天气应用,就可能会出现各种问题。其中,iPhone5用户出现这个问题的原因主要是因为…

    其他 2023年3月28日
    00
  • Ubuntu(Linux)下配置IP地址的方法

    Ubuntu(Linux)下配置IP地址的方法 在Ubuntu(Linux)系统中,可以通过以下步骤来配置IP地址: 打开终端:在Ubuntu桌面环境中,按下Ctrl + Alt + T组合键可以打开终端。 查看网络接口:输入以下命令来查看当前系统中的网络接口及其状态: shell $ ip addr show 这将显示当前系统中所有的网络接口及其相关信息,…

    other 2023年7月29日
    00
  • Windows7下安装使用MySQL8.0.16修改密码、连接Navicat问题

    下面我将为您详细讲解“Windows7下安装使用MySQL8.0.16修改密码、连接Navicat问题”的完整攻略,步骤如下: 安装MySQL8.0.16 首先,在MySQL官网下载MySQL8.0.16安装文件,并安装到Windows7系统中。然后可以按照以下步骤修改密码: 打开命令行界面(如Windows+R,cmd),输入以下命令进入mysql: my…

    other 2023年6月27日
    00
  • .netef框架的安装、及三种开发模式

    .NET Framework是一个由Microsoft开发的应用程序框架,用于在Windows操作系统上构建和运行应用程序。.NET Framework包括一个大型的类库和一个虚拟机,可以在多种编程语言中使用。.NET Framework的安装和使用可以分为以下三种开发模式:Windows桌面应用程序、Web应用程序和服务应用程序。以下是.NET Frame…

    other 2023年5月9日
    00
  • C++使用初始化列表的方式来初始化字段的方法

    C++通过初始化列表的方式可以很方便地初始化类的成员变量,这种初始化方法可以在构造函数中使用。初始化列表以冒号(:)开头,后面跟着用逗号分隔的成员变量列表。 下面是一个示例: class Student { public: Student(int id, string name, int age, double score) : m_id(id), m_na…

    other 2023年6月20日
    00
  • access怎么按照性别为某字段增补前置符号?

    为了实现按照性别字段为某字段增补前置符号,需要使用到access的查询功能。具体步骤如下: 点击创建,在下拉菜单中选择查询设计。在新建的查询设计视图中,添加需要操作的数据表,并在其中选择目标字段与需增补的前置符号。以增补前置符号的方式为例,可以选择计算字段,在该字段的表达式中使用&符号将目标字段与需要增补的符号连接起来。例如,若我们需要在Gender…

    other 2023年6月25日
    00
  • Go语言基础切片的创建及初始化示例详解

    Go语言基础切片的创建及初始化示例详解 什么是切片 切片是 Go 语言中一个重要的数据类型,它与数组非常相似,但是切片的长度是可以动态变化的。切片是由指向底层数组的指针、长度和容量三部分组成的。 切片的创建 使用 make 函数创建 make 函数是 Go 语言中用于创建切片、字典和信道等动态数据结构的内置函数。make 函数的第一个参数表示需要创建的类型,…

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