4

我目前正在创建 ac 程序,该程序计算我在一天中按下的所有键,并按数量对键类型进行排序,这样我就可以知道我最常按哪些键。这更像是一个附带项目,但我对我的程序似乎无法拦截密码字段的任何输入这一事实感到恼火。我想这是一件好事,但我一直在花费数小时查看文档并试图弄清楚如何做到这一点。我不是在尝试创建任何类型的恶意软件。有没有解决的办法?我的程序以 root 身份运行。我正在使用ApplicationServices框架和CGEventRef功能CGEventTapCreate。我应该使用不同的框架或结构吗?kCGHIDEventTap另外, , kCGSessionEventTap, 和之间有区别吗kCGAnnotatedSessionEventTap? 我已经尝试过使用它们中的每一个,但它似乎对我的程序没有任何影响。

我在 OS X 10.9 上运行它

更新 显然我也无法捕捉到终端的击键,这是我大部分时间花在笔记本电脑上的地方。这是个问题。

4

1 回答 1

2

你想要的相当复杂,需要内核扩展。进程间通信也不是微不足道的。看看logKext,特别是 logKext.cpp。该项目实际上将击键记录到加密文件中。您应该能够从中提取所需的一切。

于 2014-06-27T05:22:09.713 回答