能力值:
( LV5,RANK:60 )
|
-
-
2 楼
结束进程
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
哪里分析出来是结束进程
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
100019FA 8B5424 10 mov edx,dword ptr ss:[esp+0x10]
100019FE 8B3D 44500010 mov edi,dword ptr ds:[0x10005044] ; kernel32.GetProcessId
10001A04 52 push edx
10001A05 FFD7 call edi
10001A07 8BD8 mov ebx,eax
10001A09 FF15 28500010 call dword ptr ds:[0x10005028] ; kernel32.GetCurrentProcessId
10001A0F 3BD8 cmp ebx,eax
GetProcessId是XP才有的api这样判断是不是在识别系统
那底下那个ZwQueryInformationProcess对比是什么意思呢
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
先说说我对整体汇编代码的理解:
整体来说,汇编代码是先通过OpenProcess来得到一些进程的Handle之后,再对这些Handle做如下处理:如果这些进程的ModuleBase目录里面包含有"tmp"相关的字样,则直接关闭该Handle,如果没有"TMP"字样,则查看一下是否是标准输入,输出,出错等,如果是,则会调用"10003C5E"处的函数,由于没有更多的上下文信息,无法具体说明它是什么意思.如果该Handle不是标准输入,输出,出错等,且没有TMP字样,而且不是当前进程,则直接CloseHandle.
整个红色字部分总体来说就做这么几个逻辑判断. 比较GetProcessId 和 GetCurrentProcessId的意思就是用于区分当前正在操作的Handle是否是当前进程的Handle,当前进程的Handle是不能在这个过程中Close的.
|
|
|