下面是针对“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按钮,可以回到桌面,接下来我们来跟踪这个过程中方法的调用情况:
- 安装logify插件(命令:
apt-get install logify
) - 在SpringBoard类的下面添加如下代码片段:
- (void)applicationDidBecomeActive:(UIApplication *)application {
static __attribute__((constructor)) void _init(){
logify(@"[Begin]%s",__FUNCTION__);
}
}
- 在Terminal中输入如下命令来查看logify的结果:
$ sudo tail -f /usr/logify/logify.log
然后再按下Home键,就能看到所调用的一堆方法了。
2.2 实例2:跟踪QQ加密算法的调用
我们知道,QQ应用内有较多的网络加密操作,接下来我们来通过跟踪QQ加密算法的调用情况,来了解这些操作的具体实现过程:
- 首先需要安装QQ应用
- 安装logify插件(命令:
apt-get install logify
) - 在QQ加密算法所在的类中添加如下代码片段:
- (void)encrypt:(NSString *)plainText key:(NSString *)key callback:(id)callback{
static __attribute__((constructor)) void _init(){
logify(@"[Begin]%s",__FUNCTION__);
}
}
- 在Terminal中输入如下命令来查看logify的结果:
$ sudo tail -f /usr/logify/logify.log
然后就可以启动QQ应用并进行一个网络操作来了解加密算法的调用情况了。
以上就是我对“iOS逆向教程之logify跟踪方法的调用”的解释和说明,希望对您有所帮助。如果您还有其他疑问或需要进一步讨论,欢迎随时在后续营销沟通中向我提出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:iOS逆向教程之logify跟踪方法的调用 - Python技术站