-
-
[求助]API整不明白
-
发表于:
2012-5-10 18:01
6790
-



我有点整不明白,我看到好多病毒在一开始都会调用这么几个API,不知道它到底是干啥的?


1 2 3 4 5 6 7 8 9 10 11 12 13 | 0040102C FF15 0C214000 CALL DWORD PTR DS:[40210C] ; user32.GetInputState
00401032 6A 00 PUSH 0
00401034 6A 00 PUSH 0
00401036 6A 00 PUSH 0
00401038 FF15 4C204000 CALL DWORD PTR DS:[40204C] ; kernel32.GetCurrentThreadId
0040103E 50 PUSH EAX
0040103F FF15 10214000 CALL DWORD PTR DS:[402110] ; user32.PostThreadMessageA
00401045 6A 00 PUSH 0
00401047 6A 00 PUSH 0
00401049 6A 00 PUSH 0
0040104B 8D45 C4 LEA EAX,DWORD PTR SS:[EBP-3C]
0040104E 50 PUSH EAX
0040104F FF15 14214000 CALL DWORD PTR DS:[402114] ; user32.GetMessageA
|
后来google了一下,发现CSDN上有人这么解释:
1 2 3 | GetInputState(); // 判断当前线程中是否有处理鼠标键盘的消息,返回值非零表示检测到输入
PostThreadMessage(GetCurrentThreadId(),NULL,0,0); // 将消息传入当前线程
GetMessage(&msg, NULL, NULL, NULL); // 获取消息成功后,将删除该消息
|
我不明白的是获取这消息干嘛啊,看病毒样本后面好像没有下文了
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课