登陆论坛 找回密码 立刻获得20pp! 地图 帮助
宽带山生活
版主:

  • 主题内容
<< [1] >>  [只看楼主]  [加入关注] 点击:150 回复:13 已被0人关注

主题:类似重载的问题

209 0

来自:上海
注册:2001-07-14
发帖:9+57 
请教各位大哥:我想用自己的函数包装windows api。比如:我想自己编一个Kernel32.dll包装了lstrcmp函数以实现对windows api的拦截。这函数一定要和windowsapi的lstrcmp同名,而且要调用windowsapi的lstrcmp来完成功能。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-06-18 20:06:11
推荐:牙齿有问题,您找我! ...楼主...

382 0

来自:保密
注册:2000-11-22
发帖:20+721 
你想做什么?




-------------------------------------------------------------------------------------------
Program is my incantation


Computer is my golem


Internet is my world of magic

发表于:2002-06-18 20:56:34

212 0

来自:上海
注册:2001-11-22
发帖:15+119 
downloading你是不是问‘比如’应该怎么实现?



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-06-18 21:48:03
推荐:畅玩天下贰,精彩玄幻飞行 ...第2楼...

209 0

来自:上海
注册:2001-03-31
发帖:12+340 
屏幕取词?




-------------------------------------------------------------------------------------------
http://www.geocities.com/famelstudio

发表于:2002-06-19 09:53:31

209 0

来自:上海
注册:2001-07-14
发帖:9+57 
谢谢各位大哥关照。

我是想拦截windowsapi,有什么办法实现吗?



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-06-20 13:14:19

382 0

来自:保密
注册:2000-11-22
发帖:20+721 
要想完全拦截,需要自己实现 api 所在的 dll 。




-------------------------------------------------------------------------------------------
Program is my incantation


Computer is my golem


Internet is my world of magic

发表于:2002-06-20 20:47:40
推荐:kds红日官网启动啦!!! ...第5楼...

209 0

来自:上海
注册:2001-07-14
发帖:9+57 
我想拦截的api的功能很复杂,比如网络连接方面。所以我的dll最终还是要调用原来的api来完成功能,这就出现一个重名问题,也就是我的dll提供的函数名同我调用的api的函数名重复。所以问题很棘手。

还请给位高手提点



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-06-21 11:39:40

465 8

来自:上海
注册:2001-01-08
发帖:22+1066 
如果只是DLL拦截,(理论上)可以将原DLL改名,用你的DLL实现原DLL所有接口声明,在你的dll中要调用原dll时,使用LoadLibrary,

事实上,极端困难,仅接口声明,你能全部按原顺序给出吗?



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-06-23 18:19:14
推荐:KDS红日球迷会2010招募公告 ...第7楼...

209 0

来自:上海
注册:2001-03-31
发帖:12+340 
一般上需要写一个DLL实现要拦截的API,然后将Windows中你要拦截的API的入口地址指向你的DLL(需要使用类似HOOK的技术将DLL压入所有进程的共享内存空间)。




-------------------------------------------------------------------------------------------
http://www.geocities.com/famelstudio

发表于:2002-06-23 22:47:29

209 0

来自:上海
注册:2001-07-14
发帖:9+57 
谢谢各位高手的热心提示。

我只知道hook可以用于鼠标、键盘、消息函数之类的。

那如何才能修改api的入口地址呢?



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-06-24 00:33:00

209 0

来自:上海
注册:2001-03-31
发帖:12+340 
看一下这篇文章,会很有帮助的:

http://www.codeproject.com/system/hooksys.asp




-------------------------------------------------------------------------------------------
http://www.geocities.com/famelstudio

发表于:2002-06-24 13:08:05
推荐:被戴绿帽,心情极度差 ...第10楼...

209 0

来自:上海
注册:2001-07-14
发帖:9+57 
太好了,非常感谢。

翻译中。。。。。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-06-24 20:10:18
推荐:本能寺之变 ...第11楼...

209 0

来自:上海
注册:2001-07-14
发帖:9+57 
oob真是伟大,虽然我没全看懂,但可以按我的需要去改了



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-07-29 18:22:51

回复主题 [ 返回 ]
主题: 类似重载的问题
手机看宽带山

关于我们 - 联系我们 - 加入我们 - 营销服务 - 友情链接 - 频道合作- PChome Widget
Copyright © 1996-2009 PChome.net All rights reserved. 电脑之家 版权所有