请问API拦截如何实现,如拦截CreateProcess API函数 ( 积分: 200 )

  • 主题发起人 主题发起人 procman
  • 开始时间 开始时间
P

procman

Unregistered / Unconfirmed
GUEST, unregistred user!
请问API拦截如何实现,如拦截CreateProcess&nbsp;API函数<br>就像卡巴斯基和天网防火墙那样。<br>能给个简单的例子吗?
 
那些杀毒软件根本就不是拦截Win32API.你看看DDK了解一下进程创建的过程再来问吧.
 
wr960204&nbsp;:<br>能略详细说下吗?不胜感激啊!!!!
 
都是拦截的,在驱动层面和应用层面的区别而已.<br>你可以加我的QQ:30362015<br>我把我的程序发给你你就知道了.
 
怎么最近老是有人问如何拦这个的?
 
看mad控件集吧<br><br>示例里有现成的hook&nbsp;CreateProcess的例子
 
天网防火墙是拦截API的<br><br>卡巴就不是了,我也不知道它是怎么实现的,我通过拦截API来查杀病毒,发现卡巴总是比我先拦截到.
 
卡巴是在内核里面的,肯定比你早
 
各位大虾能不能详细说说?谢谢诶啊啊
 
已经说得够清楚了,如果你还是不明白那说得再详细甚至给例子,也是没用的。<br>如果你光要实现API拦截,可以考虑购买我的控件。傻瓜话,针对不懂系统运作的人使用[:D]
 
【精华】&nbsp;獨一無二的蘭博基尼范思哲版&nbsp;起價50萬美金[10P]<br>http://74.53.87.91/viewthread.php?tid=168963&amp;fromuid=1211598
 
to&nbsp;白河愁:<br>hook&nbsp;API的代码到处都是,这个都买钱?!
 
to&nbsp;linuxping:<br>&nbsp;&nbsp;&nbsp;那些afxhook,madhook还有其它一些代码可以做成控件么?<br>&nbsp;&nbsp;&nbsp;可以只要你输入&nbsp;api&nbsp;的名字,然后&nbsp;hook&nbsp;的时候就自动产生事件接管实际操作吗?<br>&nbsp;&nbsp;&nbsp;比如我Hook&nbsp;CreateProcess,只需要这样写:<br><br>procedure&nbsp;TForm1.btn1Click(Sender:&nbsp;TObject);<br>begin<br>&nbsp;&nbsp;APIHooker.DllName:=&nbsp;'kernel32.dll';<br>&nbsp;&nbsp;APIHooker.DllFunction:=&nbsp;'CreateProcessA';<br>&nbsp;&nbsp;APIHooker.ParamCount:=&nbsp;10;<br>&nbsp;&nbsp;APIHooker.Init:=&nbsp;True;<br>&nbsp;&nbsp;APIHooker.Hook:=&nbsp;True;<br>end;<br><br>function&nbsp;TForm1.APIHookerAPIHookProc(<br>&nbsp;&nbsp;const&nbsp;Params:&nbsp;array&nbsp;of&nbsp;Pointer):&nbsp;Cardinal;<br>var<br>&nbsp;&nbsp;lpStartupInfo:&nbsp;PStartupInfo;<br>&nbsp;&nbsp;lpProcessInformation:&nbsp;PProcessInformation;<br>begin<br>&nbsp;&nbsp;lpStartupInfo:=&nbsp;Params[8];<br>&nbsp;&nbsp;lpProcessInformation:=&nbsp;Params[9];<br><br>&nbsp;&nbsp;//恢复原来&nbsp;CreateProcess&nbsp;的作用<br>&nbsp;&nbsp;Result:=&nbsp;Cardinal(CreateProcessA(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Params[0],<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Params[1],<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Params[2],<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Params[3],<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LongBool(Params[4]),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cardinal(Params[5]),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Params[6],<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Params[7],<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpStartupInfo^,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpProcessInformation^<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;));<br>end;<br><br>其它有哪款代码可以做到?
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
932
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部