我的问题是,由于所有代理类都在应用程序进程的内存地址空间中,是否容易受到被黑客攻击的攻击?例如,我可以覆盖感兴趣的代理类的“this”指针,这样“this”指向任意虚函数表。
系统是否为这些代理类对象提供了任何写保护,以便不能对它们进行操作?
你可能想知道为什么我问这个愚蠢的问题。我正在考虑这样的场景:假设一个应用程序受到良好的反向工程保护,但通过添加操作存储代理类的内存的代码,我仍然可以以某种方式破解高价值的应用程序(比如银行应用程序,医疗保健应用程序)通过在调用系统服务API时返回伪值。
我发现了这个但是不太明白: http://shadowwhowalks.blogspot.com/2013/02/android-replacing-system-classes.html
我还找到了一篇论文: http://ceur-ws.org/Vol-1575/paper_10.pdf
但黑客攻击需要root权限。这真的有必要吗?
有关系统服务的链接:
http://opensourceforu.com/2013/12/birds-eye-view-android-system-services/
https://www.slideshare.net/marakana/android-services-black-magic-by-aleksandar-gargenta
http://resources.infosecinstitute.com/practical-android-phone-forensics/#gref