能力值:
(RANK:260 )
|
-
-
2 楼
如果是隐藏进程后仍被检测,那么程序应该不是通过遍历系统进程来判断是否有自身的进程在运行。
如果程序没有反调试(对于外挂来说,不太可能哦),用调试器拦截程序ExitProcess()或TerminateProcess()等API,然后从堆栈返回地址中寻找它的判断逻辑的代码。如果程序反调试,那么一个前提就是你有能力by pass它的保护,否则是谈不上分析程序的。
其实程序单实例运行的逻辑无非是这样:启动时检测某个标志,如果不存在,则设置它存在,并且程序正常运行;如果已经存在则直接退出。
这个标志,可能是某个命名的内核对象,或注册表中某个值,或文件系统中的文件,等等。
我只知道比较常用的是使用互斥对象,但不知道在多个session中内核对象的名字空间怎么映射,不知道在多用户时互斥对象还能不能用。
不妨试试procmon,看看它写入了哪些注册表项,创建了哪些文件,没准也会有帮助的。
最后说一句题外话:玩游戏,不要被游戏玩,更不要被外挂玩。
|
|
|