首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

API HOOK 实战解决War FTP无法重命名覆盖已经存在文件的有关问题之VB&Deviare篇

2012-06-20 
API HOOK 实战解决War FTP无法重命名覆盖已经存在文件的问题之VB&Deviare篇如果看过我之前写的API HOOK 实

API HOOK 实战解决War FTP无法重命名覆盖已经存在文件的问题之VB&Deviare篇

如果看过我之前写的API HOOK 实战解决War FTP无法重命名覆盖已经存在文件的问题之AutoIt3篇,就会发现其中有一个问题。因为war-ftp默认是以系统服务的方式运行的,但用我之前写的程序是否无法成功Hook到API调用信息的。曾经就此问题请教过AutoIt中文论坛的版主,得到的答复是当初写API Hook库时没有考虑到这种情况,如果要实现这个功能,要重写整个库!

怎么办呢?等版主重写?那不知道何年何月了,或许永无此日都有可能。不能就此放弃,继续努力查询资料。于是在网上又开始搜索起来,还真被我发现了一些“蛛丝马迹”。其中用Detour、Deviare和Easyhook几个库被提到过。Detour是微软的东东,但没有正规支持,网上的资料是最多的,可惜几乎都是c++代码。Easyhook只支持C#,无奈我这种死守VB的人不会用啊!最终还是选择了Deviare(http://www.nektra.com/products/deviare-api-hook-windows/),因为它支持COM调用!

当然这个库的例子和说明更是少的可怜。官网只有一个c#的例子,论坛有一个vbscript的例子,结合这两个例子,我总算摸索出如何Hook掉API的传入参数。下面是例子:


需要在工程的引用中增加DeviareCOM 2.0,如果找不到就要先注册DeviareCOM.dll.

热点排行