简介:我想在 Android 安全性上创建一个 POC,它需要确定是否有任何 KeyLogger 在 Android 设备上运行。如果它正在运行或安装在设备上,请在我的 Android 应用程序中禁用它。
查询:
1.) 是否可以创建拦截键盘事件并作为服务在后台运行的 Android 键盘记录器?
2.) 这是否可以识别是否有任何后台进程处理键盘事件?
3.) 我可以通过我的应用程序代码停止任何其他后台服务(不属于我所有)吗?
如果你有合适的链接,请帮助我。
最佳答案
我知道这个问题已经有一个接受的答案,但我不同意接受的答案!
这可以通过无障碍 API 在 android 中完成。
看看下面的程序:
它使用可访问性 API,并正确存储您在任何应用程序中键入的每个键击,这本质上是按键记录器所做的!
编辑:我不确定 TypeMachine 使用什么,但您应该能够从无障碍服务 using this method 获取文本.
例如,以下代码可用于获取新文本:
void onViewTextChanged(AccessibilityEvent accessibilityEvent, AccessibilityNodeInfo accessibilityNodeInfo) {
List text = accessibilityEvent.getText();
CharSequence latestText = (CharSequence) text.get(0);
Log.i(MY_TAG, latestText.toString());
}
关于安卓键盘记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27245185/