子进程如何防止父进程的钩子入侵
如题
父进程先创建
子进程后创建,发现的kernel32.dll某个函数已经被父进程hook
请问有没有办法跳过这个hook?
[解决办法]
不知道,帮顶!
[解决办法]
好像是修改未被HOOK的函数 导出表吧?
[解决办法]
拷贝kernel32.dll到另外一个地方后LoadLibrary加载,根据hook函数地址与新加载的dll地址定位被hook函数在新dll中的地址(如果知道函数名称,可通过GetProcAddr获取函数地址),读取函数前面的一些字节直接恢复钩子。
[解决办法]
那就别掉这个函数了,直接调ntdll.dll中的函数来替代,或者直接调用系统内核服务。
[解决办法]
可以换别的API等功能
[解决办法]
1,尽量绕过对系统API的调用,可能的话,自己用驱动去实现这些API的功能,等于自己给自己提供专用API,减少对系统dll的函数的依赖;
2,对关键的系统dll,根据os版本,做MD5校验,启动时对比MD5值,若不同,则拒绝启动,以防止DLL导入表的hook;
3,对于内存hook,针对自己所用到的关键函数,取其一小段起始代码,作MD5校验,本程序启动时,分别检查这些函数的MD5值是否正确,如果不正确,则判断可能已经被hook,拒绝启动。
[解决办法]
通过twain界面引导的驱动,无法打开已经创建的filemapping //看不懂……
[解决办法]
不清楚
猜一下:全局钩子顺序是越新创建则越快占领信号。看这个思路有用吗?
[解决办法]
哦你说TWAIN啊,这是一个组织,Adobe是其成员之一。windows自己的标准叫WIA。
这个协议是一个标准协议,符合TWAIN协议的驱动没写过,不过我想和打印机之类的差别应该不是非常大。
驱动按照TWAIN的协议制定的接口提供服务就行了,不知关photoshop何事?
[解决办法]
和打印机之类的一样,那只是一个user mode的minidriver,和kernel mode的driver协同工作,另一个还有一个UI dll,相当于打印机提供的打印机属性设置页面一样。
按理说你应该要实现的,是和Still Image DDI函数族。如果kernel32.dll被hook的话,你可以直接去call ntdll中的native api。
[解决办法]