Hook API 有关OpenProcess 和 WriteProcessMemory 的 hook

tanjiunnya 2008-06-07 05:56:22
这里牛人很多,希望牛人都进来帮忙解决下~

我要用VB来写个程序(A.exe)来保护 B.exe。
只要其他程序,如 C.exe 尝试对 B.exe 做出 OpenProcess 或 WriteProcessMemory 等动作,
我的程序 A.exe 就要把 C.exe 的 WriteProcessMemory 和 OpenProcess 都变成无效~(只有对B.exe无效);
或者我的程序A.exe 可以拦截 C.exe 的OpenProcess 和 WriteProcessMemory 参数来判断是否让其通过。

请问,大家要如何实现这种Hook?有没有思路或者现成/简单的代码供参考?
应该不会是要ASM 来注入吧?
...全文
604 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
joysun2000 2009-08-14
  • 打赏
  • 举报
回复
看一下这个有没有新意!
tanjiunnya 2008-06-08
  • 打赏
  • 举报
回复
哎!看来真的要找个通晓VC的人帮写DLL来给我vb程序调用不成?

不知道其他高手还有没有更多的建议阿??
workhow 2008-06-08
  • 打赏
  • 举报
回复
为什么不学delphi来做DLL,和VB那么容易学,搞VC不是想累死.
sworddx 2008-06-08
  • 打赏
  • 举报
回复
hook这个OpenFile时,用的应该是线程钩子;而如果要hook OpenProcess,需要用系统钩子,而按照MSDN的说法,系统钩子必须处于一个独立的DLL中。这是用VB实现系统钩子的最大限制。
所以你只有绕道而行。
tanjiunnya 2008-06-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 chenhui530 的回复:]
拦截的函数不对,VB做这方面还是不适合不稳定的
[/Quote]

大哥,我看你的方法是ASM注入explorer.exe拦截方式。

看来要纯VB做这方面也很难了~~ :(
chenhui530 2008-06-08
  • 打赏
  • 举报
回复
拦截的函数不对,VB做这方面还是不适合不稳定的
tanjiunnya 2008-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sworddx 的回复:]
VB hook全局API很复杂,要做很多walkaround。给你一个例子。

http://hi.baidu.com/cxwr/blog/item/ac15ecc3ff89d556b319a884.html
[/Quote]

说真的,在我还没有来这里发问,你给我那篇文章已经看过了,
还有chenhui的我也参考过,连超级绿豆的也看过了。

不过呢,超级绿豆的范本EXE(Apihook.exe)的hook notepad.exe 感觉上没有效果。
我点击开起notepad的 按钮,notepad打开了,然后点开始拦截。

接着我在notepad打开档案、保存档案、选择字体等,都没有被拦截下来,不知道为什么。。过程中也没有出错。

我看了他的工程,好像是拦截comdgl32.dll中Opefile的api函数,但是范本中都没有效果。。。不知道有没有高手给个解释?
startbin 2008-06-07
  • 打赏
  • 举报
回复
纯vb做这些比较困难,最好用其它语言来完成dll给vb调用
sworddx 2008-06-07
  • 打赏
  • 举报
回复
VB hook全局API很复杂,要做很多walkaround。给你一个例子。

http://hi.baidu.com/cxwr/blog/item/ac15ecc3ff89d556b319a884.html

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧