如何分析iOS应用程序以进行调整

时间:2014-11-17 05:09:23

标签: ios jailbreak theos tweak

我想在Theos中进行调整 感谢许多优秀的教程,我现在可以自己做一些简单的调整 但它并不总是顺利。

要进行调整,首先我需要使用名为" class dump"获取应用程序标题 其次,通过搜索和浏览标题,我必须猜测我应该挂哪个类 第三,编写代码并制作包。

我不能做好第二步 为了猜测app是如何工作的,我在测试调整中使用了logo(%orig,%log),在/ var / log / syslog'中使用了syslog。
例如,
如果有以下类标题:

@interface SampleClass
- (id)methodA:(int)Arg;
.
.
@end

我编写以下代码进行测试调整:

%hook SampleClass
- (id)methodA:(int)Arg {
    %log;
    NSLog(@"return Class is %@", NSStringFromClass([%orig class]);
    NSLog(@"Argument value is %d", Arg);
}
%end

通过这种方式,我可以通过测试调整识别返回Class和Arguments。

但是,我不知道在方法A'中做了什么。完美。
具体来说,我想知道什么样的原始代码被编写,以及什么方法调用什么方法。

有没有想法了解他们?

2 个答案:

答案 0 :(得分:0)

您想要挂钩私有API。而且我们知道私有API没有任何文档可用。您只能通过TRIAL和ERROR方法来了解这些方法,或者您可以通过人们在私有API上撰写的一些博客获得一些帮助。

整个想法完全取决于你想做什么。如果您指定要挂钩的任何特定方法或类。我可以帮助您,我已经处理了太多私人api,它可能会对您有所帮助。

答案 1 :(得分:0)

好吧,我建议在你要分析的app上使用一些逆向工程工具,可能是一个反汇编程序。以下是其中一些http://iphonedevwiki.net/index.php/Reverse_Engineering_Tools

的列表

我个人尝试了一下Hopper但是仍然很难理解代码。可能IDA在这方面做得更好,但还没有机会尝试它。

此外,我看到一些项目尝试挂钩obj_msgSend,这种方式记录所有objective-c调用,但还没有找到功能调用。一个例子是 https://github.com/emeau/itrace但您可以自行搜索更多这些内容。如果您找到了功能性的,请告诉我

UPDATE 看看Snoop-it,它可能是我需要的东西