编写键盘记录器代码的最有效方法?(VB.NET)

编写键盘记录器代码的最有效方法?(VB.NET),vb.net,winapi,hook,keylogger,Vb.net,Winapi,Hook,Keylogger,我正在设计一个键记录器,以使统计,如“大多数查询谷歌字符串”等。。。用户将知道它是一个键盘记录器,它不是“秘密的” 我研究了GetAsyncKeyState WinAPI函数,但也遇到了使用挂钩的情况。哪一个占用的系统资源最少?记录击键最有效的方法是什么?与其编写一个键盘记录程序(需要查看单个击键并手动尝试找出它们属于什么),不如编写一个浏览器插件,查看请求的实际URL。然后您可以查找Google URL,当检测到时,再查看提交的实际搜索词。比普通键盘记录更准确、更高效。哦,好吧。如果是为了一个

我正在设计一个键记录器,以使统计,如“大多数查询谷歌字符串”等。。。用户将知道它是一个键盘记录器,它不是“秘密的”


我研究了GetAsyncKeyState WinAPI函数,但也遇到了使用挂钩的情况。哪一个占用的系统资源最少?记录击键最有效的方法是什么?

与其编写一个键盘记录程序(需要查看单个击键并手动尝试找出它们属于什么),不如编写一个浏览器插件,查看请求的实际URL。然后您可以查找Google URL,当检测到时,再查看提交的实际搜索词。比普通键盘记录更准确、更高效。

哦,好吧。如果是为了一个好的理由,我想我们应该公开这段代码,嗯?我感觉到讽刺了吗?我从来没有问过代码,我问的是哪个更有效,GetAsyncKeyState还是使用钩子。我已经知道代码了…以什么方式有效。速度、性能、准确性?啊,没关系,反正我宁愿把别针插在眼睛里也不愿帮助别人写键盘记录器。我已经说过“什么会占用最少的系统资源”。。。我已经知道如何写一个键盘记录器。。。任何有点头脑的人都可以从谷歌复制并粘贴示例代码。我只是问哪种方法最有效,系统资源最少<代码>GetAsyncKeyState。这只是一个单一的系统调用
SetWindowsHooksEx
会将您的模块加载到每个进程中(当然,操作系统做了一些很好的技巧来保持效率,但仍然会对许多进程进行大量修改)。很遗憾,这个问题已经解决了,这是一个不错的问题。一个更普遍的解决方案是运行一个环回代理,这样无论应用程序如何,都可以捕获流量。这就是像Fiddler这样的工具的工作原理。此外,我相信这些信息在google Apis上是可用的。代理方法的缺点是需要重新配置每个应用程序才能连接到它。Fiddler修改WinInet API配置,这会影响所有WinInet应用程序,包括IE。IE有自己的用于挂接请求的API,其他浏览器可能也有类似的挂接。“更通用”的解决方案是使用WinPCap透明地捕获和分析所有应用程序的所有套接字通信。