【问题标题】:how to trace an application's behavior? [closed]如何跟踪应用程序的行为? [关闭]
【发布时间】:2013-10-31 11:51:28
【问题描述】:

我想构建一个能够跟踪其他应用、进程和服务在做什么的应用。目的是分析他们的行为,以便我可以保护智能手机上的一些关键资产,例如相册、联系人、相机操作...

我正在使用 4.1.2 版 Android 智能手机。

  • 跟踪应用行为的最佳方法是什么?

我已经在 Android 上交叉编译了 strace 命令来跟踪系统调用,但似乎除了文件操作之外我无法跟踪复杂的操作。

  • 有没有办法跟踪对象的创建?例如,如果一个应用想要使用相机,它必须创建一个相机对象。

  • 什么是合适的 Android 架构杠杆我应该搜索痕迹? (内核、应用程序框架、库...)

这是我在堆栈上的第一个问题,所以请原谅我的任何错误。

【问题讨论】:

    标签: android security trace strace


    【解决方案1】:

    您的出发点是废弃 logcat,从您无法访问其他应用程序进程的“普通”应用程序开始,您会被 android 的安全模型所吸引。

    【讨论】:

    • 抓取 LogCat 不会透露任何有关应用行为的信息。这个想法是搜索或跟踪从应用程序层触发的系统并对其进行分析。我认为 Logcat 不能产生这样的信息
    • 换句话说,您想以编程方式使用 ddms,对吧?如果我理解正确的话,基本上 ddms 会做你想做的事情。
    • 使用 ddms 可以对我的应用程序进行执行跟踪。我认为我不能用它来跟踪其他应用程序。我可以吗?我认为调试 API 用于跟踪应用程序的执行行为。如果我错了,请纠正我!
    【解决方案2】:

    每个应用都有自己的权限,所以如果一个应用没有使用相机的权限,你不会期望它使用相机。

    您始终可以查看当前有多少应用处于活动状态。哪些应用程序正在使用互联网?你可以放嗅探器看看他们在发送什么,可能他们发送了一些敏感的用户数据?

    您可以扫描 log cat 以查找应用程序启动后触发的不同系统操作。

    最后,您可以检查设备的内存使用情况,以查看其中的可疑行为。

    你可能还有更多可以做的事情,但这就是我现在想到的。

    【讨论】:

    • 权限角度是对的。嗅探器的想法很有用。但我正在尝试这种不同的方法,它表明一种“动态”跟踪技术。当应用程序使用 cam 或访问联系人列表时是否有 Logcat 跟踪?据我所知没有。
    • @Babibu 我认为内存使用情况可以很好地回应他的祈祷,但是有没有办法转储内存,或者在运行时监控它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 2012-12-25
    • 2011-08-14
    • 1970-01-01
    相关资源
    最近更新 更多