首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ltrace分析Android应用程序

使用ltrace分析Android应用程序
EN

Stack Overflow用户
提问于 2011-08-31 11:42:34
回答 2查看 1.8K关注 0票数 3

我需要分析android应用程序的动态库调用,并决定为此目的使用"ltrace“工具进行配置。我将"ltrace“工具组合到android包中,然后成功地编译在一起。它与通常的linux控制台应用程序一样适用于shell程序。

但是,我无法正确地分析android应用程序,这些应用程序是从"Zygote“过程中分叉出来的。我试图将ltrace附加到"Zygote“进程以跟踪它的子进程,但我只获得了SIGCHLD和SIGSTOP信号,并异常终止,显示了以下错误。

意外指令0xffffffff在0xff0508

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

提前谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-31 13:27:22

尝试在你的android应用程序的过程中附加ltrace后,它是分叉的受精卵。您将需要一个为android的仿生libc构建的ltrace,并且能够合理地处理线程。

有一种方法可以设置可调试的android应用程序来等待java调试器的连接,您可以使用它,连接ltrace,然后连接和断开java调试器,以重新启动它。这应该能捕捉到您自己的大部分逻辑,尽管这并不是整个启动过程的全部。

IIRC你是在一个时限内连接并使它再次运行,否则它可能会自行恢复,以避免触发一个应用程序没有响应的情况。

您可能会通过使用java调试器查看发生了什么,然后阅读源代码来了解如何在本机端实现,从而了解更多信息。

票数 2
EN

Stack Overflow用户

发布于 2012-04-13 01:38:57

克里斯·斯特拉顿先生的方法会奏效的。

LoadLibrary()是破坏jni的另一个突破点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7256434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档