一位同事和我正在谈论{关于article I read (HTC permission security risk)。基本上,争论归结为是否可以记录应用程序正在执行的每个操作。然后有人(一个抽象的经典人)会经历并看看应用程序是否正在做它应该做的事情,而不是试图像所有恶意那样。
我已经在Android上编程了一年了,据我所知 - 如果 - 这是可能的,你将不得不攻击Dalvik并输出每个流程正在做的事情。即使你这样做,我认为这是完全难以理解的,因为每个过程都有大量的东西。
我可以通过某种方式获得一些输入吗?即使尝试记录外包应用程序正在做什么也是完全不切实际的吗?
答案 0 :(得分:1)
我已经在Android上编程了一年了,据我所知,如果 - 如果 - 这是可能的话,你将不得不攻击Dalvik并输出每个进程正在做的事情。
与其说“hack Dalvik”并不是“破解android.*
类库,也许还有其他一些东西(例如java.net
)。
即使你这样做,我认为由于每个流程所做的大量事情,这将是完全无法解读的。
你可能能够在输出上做一些奇特的模式匹配或某些事情 - 假设你已经确定了不适当的行为模式。当然,还有一个小问题,必须手动测试应用程序(生成输出)。
甚至尝试记录foriegn应用程序正在做什么是完全不切实际的吗?
来自SDK应用?我非常希望如此。
从运行带有上述更改的修改固件的设备?我认为这是不切实际的,除非你有一个相当不错的开发团队,在这一点上它只是昂贵。
答案 1 :(得分:0)
如果您正在编译自己的ROM,这既可行又实用。 Android基于Linux,我知道Linux的几个项目,比如Linux Trace Toolkit。我也知道对结果进行可视化以及从结果中检测恶意应用程序的研究。
这样的功能通常用于性能和可靠性监控。您可以在Solaris中了解DTRACE功能,以了解有关如何在商业而非学术界使用此类内容的更多信息。