我想在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'中做了什么。完美。
具体来说,我想知道什么样的原始代码被编写,以及什么方法调用什么方法。
有没有想法了解他们?
答案 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,它可能是我需要的东西