0

我想针对Android应用程序中的某些特定代码行跟踪系统调用,并使用straceor system call hooking,我可以获得针对APK.

我想知道是否有任何函数调用或我们已经知道确切数量的系统调用的其他任何东西,以便我可以将它放在我感兴趣的代码行之前和之后?

4

2 回答 2

1

您尝试做的问题是您的一步与 Java VM 的底层系统脱节。它可以在你的脚下做各种你的应用无法控制的系统调用相关的事情。

在非 android 世界中,最常用的系统调用是“gettimeofday”,因为它从不被库函数缓存并且相当容易看到发生。但是,正如您在上一个问题中指出的那样,这要困难得多,因为 VM 会自行进行 gettimoufday 调用(很可能是出于会计目的)。因此,您要选择一个会导致系统调用但不太可能被 VM 正常调用的 android 函数。浏览 API 的一些候选人包括:

祝你好运。

于 2013-01-14T15:48:03.510 回答
0

你可以自己找出来。统计一个“hello world”应用程序中的系统调用,给它添加一个函数调用,再统计调用,不同的是添加的函数的调用次数。

于 2013-01-14T06:58:30.353 回答