Android 恶意代码分析:入口点与隐藏策略揭秘
1. 寻找恶意代码的入口点
在 Android 应用中,有几个关键的入口点可能隐藏着恶意代码,包括应用的主活动(main activity)、广播接收器(broadcast receivers)、服务(services)以及 android.app.Application 类的子类。查看这些入口点的代码是发现恶意代码的有效方法,因为恶意功能通常希望尽早运行。
不过,并非所有入口点都同样可能包含恶意代码。我们应该优先考虑那些在恶意软件中更常用的入口点。例如,虽然每个应用(无论是恶意还是良性)都有主活动,但在主活动中寻找恶意功能可能不是一个好的开始。相反,查看 BOOT_COMPLETED 事件的广播接收器可能更有希望,因为恶意软件喜欢在设备上持久化运行,让系统在每次设备重启时执行恶意软件是实现这一目标的常见方法。
2. 导出活动(Exported Activities)
在 Android 应用中,活动是呈现用户界面的关键机制,可以将其视为屏幕或对话框。当用户启动应用时,通常首先看到的是主活动。与当前活动的用户交互可能会触发新的活动,如工作流程的下一步、设置活动或文件共享活动。
并非所有活动都是应用的入口点。为了识别这些入口点,我们需要区分所谓的导出活动和非导出活动。在清单文件中标记为 android:exported="true" 的活动可以从当前应用外部启动,因此被视为入口点;而标记为 android:exported="false" 的活动只能从当前应用内部启动,
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



