【问题标题】:Global Keylogger in Java SwingJava Swing 中的全局键盘记录器
【发布时间】:2018-11-02 17:39:13
【问题描述】:

我想在 Java Swing 中制作一个键盘记录器。当 focus 位于 Swing Window 上时,我可以设法制作一个简单的键盘记录器来捕获击键并将它们写入日志文件。由于焦点必须在窗口上,是否可以制作一个不可见的JFrame,即始终在顶部? 像这样的:

public class Logger extends JFrame implements KeyListener


logger.setVisible(false);
logger.setAlwaysOnTop(true);

这在 Java 中可行吗?

【问题讨论】:

  • 我很难想象这样做的道德原因。无论如何,这在 Java 中是不可能的。
  • 一个道德原因是例如为您的应用程序制作全局热键。类似于任何音乐程序的全局热键来启动或暂停曲目。但实际上我只是对恶意软件以及它的实施容易程度感到好奇。

标签: java swing keylogger


【解决方案1】:

所以,您想要一个即使焦点不在 Java Swing 窗口上也能记录击键的按键记录器,对吧? Java 本身无法做到这一点,但 Java Native Interface (JNI) 可以。你可以谷歌“Java System Hook”并从 Github 下载 JAR。 (https://github.com/kristian/system-hook/releases) 总之,只要程序运行,它就会一直记录您的键盘,无论您关注的是哪个窗口。

我使用它的方式:我写了一个程序,在我玩游戏时它会继续运行,它可以打印出我在游戏中按下的任何键。

【讨论】:

  • 你好,先生。刚看了看。对于这种情况,那么在 C++ 中完成整个事情会更有意义。
猜你喜欢
  • 1970-01-01
  • 2016-04-27
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多