《WIN64驱动教程》补充[8]:关于商业级别的进程保护(续2)
作者:Tesla.Angela做商业级别进程保护的时候,会遇到各种无比恶心的需求,也就有了很多无比恶心的故事。之前遇到一个只懂易语言的“大牛”,要我按照进程名字来保护进程。这不是什么困难的事情,在对象回调里,通过被操作者的进程对象获得进程名字,然后用_stricmp对比一下就结了。但是做完项目一天后,这位“大牛”找我说:保护进程对部分程序不起作用。我听到的第一个反应是:扯淡。但此“大牛”很着急,拉我看远程,我发现真的不行,顿时郁闷了。接下来打开三套件:虚拟机、DBGVIEW、WINDBG(LKD模式)。随便选了一个虚拟机里的文件:KmdManager.exe,改名为xxxx.exe后运行。然后在驱动里枚举进程(打印出进程名)。这时候,我发现了一个震惊的事情:xxxx.exe在EPROCESS里的进程名竟然是xxxx.exeer.exe。为什么是这个名字?真不知道。只知道后面那一串多出来的er.exe,是KmdManager.exe的后半截。知道了病因,解决方法就简单了,不再使用_stricmp,而改用_strnicmp。最后问题成功解决。
**** Hidden Message ***** 学习了 学习了 学习了 看看。。。。。。论坛没人气了,TA也不回国搞搞啊 strcmp平时代码中也有用到,确实得换strnicmp和strncmp,不然容易内存泄漏。最后找问题的时候能吐血 2024补充学习 感谢分享 好好学习一下
页:
[1]