首页
社区
课程
招聘
[讨论]有没有研究反键盘记录的?(Anti-Keylogger)
发表于: 2010-10-31 16:11 9540

[讨论]有没有研究反键盘记录的?(Anti-Keylogger)

2010-10-31 16:11
9540
不加载驱动的话,一个程序有哪些法可以记录键盘的?
我知道的有这些
GetKeyState、GetAsyncKeyState、GetKeyboardState
SetWindowsHookEx相关的WH_KEYBOARD_LL、WH_KEYBOARD、WH_JOURNALRECORD
RawInput相关的GetRawInputData、GetRawInputBuffer、RegisterRawInputDevices
注册热键

还有没有其它的方法?

http://www.zemana.com/anti-keylogger.aspx
Zemana出的这个测试工具不知道用的什么方法,用HIPS测了一下,说是RegisterRawInputDevices,用Comodo拦截也这样提示


但我用Sandboxie提供的接口,Hook了这个函数,拦截不了,难道是用的其它方法?

edit
问题已解决,原来是sandboxie软件的问题,换了新版本就可以拦截了

[课程]Android-CTF解题方法汇总!

上传的附件:
  • 3.jpg (70.69kb,329次下载)
收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
直接搞目标进程中的消息循环或许行吧、、、呵呵,没试过
2010-10-31 16:31
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
太复杂了,不太懂
2010-10-31 16:40
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
差不多就这些了了
2010-10-31 22:32
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
所有这些api都拦截了,Zemana的测试工具竟然还能记录键盘,用的是什么方法呢
2010-10-31 23:16
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
你确定它没用驱动吗?所有的呢拦截了记录密码也是有可能的
2010-11-1 11:48
0
雪    币: 1407
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主是怎么拦截的 贴代码
2010-11-1 12:00
0
雪    币: 65
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
activ X
2010-11-1 12:06
0
雪    币: 163
活跃值: (75)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
keboard class的pnp过滤驱动有没有试过泥?
2010-11-1 12:31
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
下载页面
http://www.zemana.com/anti-keylogger.aspx

就是这个小工具,肯定没加驱动
2010-11-1 14:08
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
汗一个,其实不算是我自己拦截的,我用sandboxie,它提供了一个接口,可以帮你把你写好的dll注入到进程里,你只要在里面写好你要hook的函数就行了
这个链接:
http://www.sandboxie.com/index.php?InjectDll
http://www.sandboxie.com/index.php?SBIE_DLL_API
我想应该是dll注入方式hook的吧
2010-11-1 14:13
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
网上找到了这样一段

函数将首先检查user32.dll导出的BlockInput()函数,如果函数代码是被调试器修改过的,那么将直接退出,代码如下[4]:

BYTE *address=(BYTE *)GetProcAddress(LoadLibrary("user32.dll"),"BlockInput");;

bool modify=true;

for(int x=0;x<20;x++){

if(address[x]==0xff&&address[x+1]!=0xff){

modify=false;

break;

}

if(modify) ExitProcess(0);


会不会是这个工具检查了自身有没有被hook了呢?
2010-11-1 14:21
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不太了解,我查查看
2010-11-1 14:25
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不会写驱动
2010-11-1 14:25
0
雪    币: 306
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这个工具使用的驱动,而且不稳定,我已经蓝屏好几次了 ,不过效果确实很强,楼主有什么新的研究成果吗?
2010-11-13 00:26
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
它应该没有加驱
目前还没进展
2010-11-15 16:44
0
游客
登录 | 注册 方可回帖
返回
//