比如說GetprocAddress中的參數, 我怎麼才知道是什麼? 有几個?

解决方案 »

  1.   

    用Debug的方法,自己去研究代码!!!
    要求比较高,得懂汇编。。
      

  2.   

    我用 dumpbin 只能显示 函数名,用VC++ TOOLS 里的 DEPENDENCY WALKER 也好象看不到参数。 哪位大虾能提供一下
      

  3.   

    很明显GUID在研究COM。大家不要误导,这个问题好象前些日子也讨论过,请GUID先在已解决问题里找一下吧。
      

  4.   

    比如:在NT下跟踪MessageBoxA函数,通过GetProcAddress()得到
    返回值为0x77DF737E,在VC中设置断点0x77DF737E,用F5运行,在
    调用MessageBox时将产生中断。
    用F10运行直到ret xx,这时,如果函数是WINAPI形式调用时就知道
    有几个参数了。一般为xx/4=参数的个数。
       MessageBoxA为ret 10h  ---->10h/4=16/4 =4!!
    如果不是WINAPI形式调用,就需跟至ret后,看一下代码了。
    如:
    push xx
    push yy
    push zz
    call FunXx
    这样,就说明是3个参数。。
      

  5.   

    謝謝各位,  也謝謝ahphone  我正在解決問題里找 希望你們再去我另一個問題中回答我也好把另外的分也給你們.....
    還有verybigbug. 我還想更過份兒點, 能不能知道它的類形,  不會所有類形都是4個字節吧??
      

  6.   

    返回"拒絕訪問"的錯誤.....當調用DLL中的函數時...???不知為什麼...
      

  7.   

    在汇编的堆栈中,好像所有类型都是4个字節的。
    ---我还没有看到其他的情况。
       因为用push xx一般是4个BYTE的。
    能不能知道它的類形??好像不可能。只能根据经验判断了。另外,在9X下只能调查0x80000000以下的函数。