最近一直在尝试一个问题:拦截应用程序向动态库传递的参数,比如说,A程序调用A1动态库中相关函数,如何才能获得此过程中A向A1传送的参数信息呢,研究了好久,搞不出来,希望大师们帮忙指点,小弟在此拜谢了

解决方案 »

  1.   

    Dll替换啊比如 A1动态库有函数func1(a:integer)你新写个dll, 在里面写函数func1procedure func1(a:integer)
    begin
      showmessage(inttostr(a));  CallLibAFunc1(a); //重新调用A1动态库(LibAOther.dll)有函数func1end然后把新dll取名LibA.dll, 老Dll起名LibAOther.dll
      

  2.   

    原型未知,就先反汇编了看原型。
    截参数一个方法是替换dll,楼上已经说了,还有一个方法是hook,这2种方法都需要方法原型,当然不一定非得声明的一模一样,比如指针类的,你申明成Integer/Cardinal都是没问题的。
      

  3.   

    动态Ollydbg
    静态IDA