gpt4 book ai didi

android - 使用 ltrace 分析 Android 应用程序

转载 作者:太空狗 更新时间:2023-10-29 13:39:43 40 4
gpt4 key购买 nike

我需要分析 android 应用程序的动态库调用,并决定为此目的使用“ltrace”工具进行分析。我将“ltrace”工具合并到android包中,然后一起编译成功。就像通常的 linux 控制台应用程序一样,它可以很好地与 shell 程序一起工作。

但是,我无法正确分析从“Zygote”进程派生的 android 应用程序。我尝试将 ltrace 附加到“Zygote”进程以跟踪它的子进程,但我只收到 SIGCHLD 和 SIGSTOP 信号并异常终止,显示以下错误。

意外指令 0xffffffff 在 0xffff0508

我只是想知道是否有人在 android 系统上尝试过这种分析。任何简短的评论都对我很有帮助。

提前谢谢你。

最佳答案

尝试将 ltrace 附加到你的 android 应用程序的进程,当它从 zygote fork 出来后。您将需要一个为 android 的仿生 libc 构建的 ltrace,以及一个对线程进行合理处理的 ltrace。

有一种方法可以设置可调试的 android 应用程序以等待 java 调试器的连接,您可以使用它,连接 ltrace,然后连接和断开 java 调试器以再次启动它。这应该包含您自己的大部分逻辑,但不是整个启动过程。

IIRC 你有时间限制来连接并让它再次运行,否则它可能会自行恢复以避免触发应用程序未响应的情况。

您可能会通过使用 java 调试器了解发生了什么,然后阅读源代码以了解它是如何在 native 端实现的,从而了解更多信息。

关于android - 使用 ltrace 分析 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256434/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com