如何拦截exe所执行的SQL语句!!!!access数据库

解决方案 »

  1.   

    每种数据库的调用方法都不一样,协议也不一样,调用方也不见得都是用ADO,你要实现对所有数据库的拦截几乎是不可能的
      

  2.   

    这个不太好处理,还不如在数据库上做处理..比如有一个前台数据库,真正的数据在后台另一个数据库
    exe访问的是前台数据库
      

  3.   

    如果用hook  要如何实现?
    本人汇编不是太好,用OD调试也没调试出来
      

  4.   

    这个比较难,既然有数据库了,又有功能,还拿不到数据?或者说还实现不了相同的功能?或者说数据库中存储的数据有加密过?需要exe来解密?直接按他的功能写一个程序得了。
      

  5.   

    可执行文件直接调用sql,不是也要服务器密码的啊你改密码就是了,但是你的密码要是他知道。。你拦截也没用啊
      

  6.   


    你们可能误解我的意思了
    我只是想知道怎么样才能获取到一个exe所执行的sql语句。 
    不是说拦截下来不让他执行,可能我的表达有误。
      

  7.   

    所执行的sql语句 一般都是虚函数, HOOK该虚函数就OK了http://download.csdn.net/source/3406862
    这个程序的实现了这个功能, 如Hook这个IDirectInputDevice7A::GetDeviceState函数//  #{25E609E1-B259-11CF-BFC7-444553540000}.{57D7C6BC-2356-11D3-8E9D-00C04F6844AE}.9
    //  CLSID_DirectInputDevice.IID_IDirectInputDevice7A.IDirectInputDevice7A::GetDeviceState
      

  8.   

    我怎么找不到这个虚函数啊?
    // CLSID_DirectInputDevice.IID_IDirectInputDevice7A.IDirectInputDevice7A::GetDeviceState这个又是哪里来的呢?
      

  9.   

    所执行的sql语句 一般都是虚函数, HOOK该虚函数就OK了http://download.csdn.net/source/3406862
    这个程序的实现了这个功能, 如Hook这个IDirectInputDevice7A::GetDeviceState函数 学习了