请问,我想拦截程序针对某一特定动态库的函数调用,有什么工具可以用吗? 我自己写了个程序,及一个dll。我想知道这个程序调用这个dll的所有函数调用序列,以及传进的参数。有点类似stracent,但只特定于我的dll。请各位大侠指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 既然这个DLL是你写的,问题就好办了。在DLLMain的DLL_PROCESS_ATTACH中创建一个log文件,然后在每个函数调用的时候把调用函数名和参数写入到log文件中,再在DLL_PROCESS_DETACH中关闭这个log文件即可。 呵呵,我想知道的是,dll如果不是我写的,那么有什么东东可以拦到? 如果那个DLL的函数不是很多的话,你可以自己写一个DLL,导出函数和这个DLL的一样,然后自己在你写的DLL中在转向原来的DLL,这样先调用你写的DLL,你就可以把参数保存起来,然后在转向别人的DLL,就可以得到返回了。 如果那个DLL的函数不是很多的话,你可以自己写一个DLL,导出函数和这个DLL的一样,然后自己在你写的DLL中在转向原来的DLL,这样先调用你写的DLL,你就可以把参数保存起来,然后在转向别人的DLL,就可以得到返回了。================================对,这样做有n多妙用 如果DLL不是你写的,那么可以用API Hook的方法。我在我的Blog中根据网上的文章和自己的实验写了一篇文章,你可以参考一下:http://blog.csdn.net/ATField/archive/2007/02/10/1507122.aspx 用这个软件可以解决你的问题:Auto Debug for Windows 专门用来监视API的。可以监视任意的API。 谢谢verybigbug(等待中):发现确实是可以的,呵呵。不过有没有注册码的? 动态添加的菜单ID问题 #include与#import的区别??? VC 的ouput文本框究竟是什么控件?edit,richedit还是listbox? 求助:如何通过鼠标双击实现两个列表框内容的互换 怎样做这样的gridctrl? 莱鸟问题:关于钩子HOOK的类型? 读取文件的问题,希望大家再帮我看看。 CDialogBar问题 谁有intel compiler60或者7.1啊? 大虾小虾帮看看向另一个程序的窗口发送回车消息代码,哪里出现问题了? 在c++中怎么通过一个按钮打开另一个窗体 VC可以制作输入法吗?
在DLLMain的DLL_PROCESS_ATTACH中创建一个log文件,然后在每个函数调用的时候把调用函数名和参数写入到log文件中,再在DLL_PROCESS_DETACH中关闭这个log文件即可。
================================
对,这样做有n多妙用
专门用来监视API的。可以监视任意的API。
发现确实是可以的,呵呵。不过有没有注册码的?