看过这个系列的朋友一定都会发现,两种方法都存在着缺憾,如果只是用于普通环境也罢,但我编写此程序的目的是要用于windows 2003的服务器生产环境的,没有达到理想前都不可能轻易部署上去。
由于AutoIt3的版主不太可能再写一次hook的代码,于是只好继续研究Deviare组件。
之前碰到的问题是用VB调用时速度偏慢,而且CPU占用比较高。在Deviare的论坛上逛时,发现还可以用VBScript来编写,于是将我原来的代码稍微进行了修改。然后我惊奇地发现VBScript调用Deviare组件进行Hook时,速度和AutoIt3几乎相同,而且CPU也恢复正常了!
于是我在Deviare论坛发问,得到的答复是由于VB 6.0的单线程设计架构,导致在处理事件时会出现一些问题。
看来继续使用VB 6.0是无法完成了,那么我该用何种语言完成呢?
我的程序需要完成如下目标:
1、能够Hook以系统服务运行的war-ftpd.exe进程的CreateFileW函数,并修改相关的参数值;
2、程序要以GUI方式运行,不能用CUI方式运行;
要能够完成第1点,目前只能使用Deviare组件。
要能够完成第2点,VBScript语言是做不到,至少做起来相当麻烦。
Deviare论坛版主,在给我的问题进行答复后没有多久,更新了Deviare组件版本到2.0.6.其中我发现还有使用python