简介:我想在Android Security上创建一个POC,需要确定Android设备上是否有任何KeyLogger运行.如果它正在设备上运行或安装,那么在我的Android应用程序中禁用它.
查询:
1.)这是否可以创建Android键盘记录器来拦截键盘事件并在后台作为服务运行?
2.)这是否可以识别是否有任何后台进程处理键盘事件?
3.)我可以通过我的应用程序代码停止任何其他后台服务(不属于我)吗?
如果你有,请帮助我提供合适的链接.
我基本上试图实现的是自定义全局热键,换句话说,"当我按下某些按钮时会发生某些事情,无论哪个程序当前位于顶部".
我认为需要一项服务.
我有一个快速而肮脏的测试,只是告诉我如果它是活动窗口,那么按下了什么.
public boolean onKeyDown(int keyCode, KeyEvent event) {
char pop;
pop = (char)event.getUnicodeChar();
Toast.makeText(this, Character.toString(pop) , Toast.LENGTH_SHORT).show();
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
但显然如果我改变窗口或进入文本框它不起作用.如果我将它直接粘贴到服务(或imputmethodservice)并启动所述服务没有任何反应.(可能需要一些权限吗?)我出错的任何建议?或者更好的方法来捕捉按下哪个按钮?
谢谢!