我自己写了个程序,及一个dll。我想知道这个程序调用这个dll的所有函数调用序列,以及传进的参数。有点类似stracent,但只特定于我的dll。请各位大侠指点。

解决方案 »

  1.   

    既然这个DLL是你写的,问题就好办了。
    在DLLMain的DLL_PROCESS_ATTACH中创建一个log文件,然后在每个函数调用的时候把调用函数名和参数写入到log文件中,再在DLL_PROCESS_DETACH中关闭这个log文件即可。
      

  2.   

    呵呵,我想知道的是,dll如果不是我写的,那么有什么东东可以拦到?
      

  3.   

    如果那个DLL的函数不是很多的话,你可以自己写一个DLL,导出函数和这个DLL的一样,然后自己在你写的DLL中在转向原来的DLL,这样先调用你写的DLL,你就可以把参数保存起来,然后在转向别人的DLL,就可以得到返回了。
      

  4.   

    如果那个DLL的函数不是很多的话,你可以自己写一个DLL,导出函数和这个DLL的一样,然后自己在你写的DLL中在转向原来的DLL,这样先调用你写的DLL,你就可以把参数保存起来,然后在转向别人的DLL,就可以得到返回了。
    ================================
    对,这样做有n多妙用
      

  5.   

    如果DLL不是你写的,那么可以用API Hook的方法。我在我的Blog中根据网上的文章和自己的实验写了一篇文章,你可以参考一下:http://blog.csdn.net/ATField/archive/2007/02/10/1507122.aspx
      

  6.   

    用这个软件可以解决你的问题:Auto Debug for Windows 
    专门用来监视API的。可以监视任意的API。
      

  7.   

    谢谢verybigbug(等待中):
    发现确实是可以的,呵呵。不过有没有注册码的?