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