如题,在64位XP系统中如何使用gina?替换里面的hook机制?
头说在64位的XP系统中不能使用hook,我想知道不能使用的话,如何替换它?

解决方案 »

  1.   

    64位普通的api hook还是可以用的, 不过需要分别hook64位和32位的进程。也就是说你至少需要两个相同功能的hook程序,一个64位的,一个32位的(由于权限问题,当初我同时启动了4个64位和32位进程去加载hook dll分别hook绝大部分service和application的)。不过话说回来了,vista 64中的确有几个系统进程是无法hook的
      

  2.   

    刚才突然想起,替换gina不一定非要使用hooK机制吧,
    可以自己定义一个对话框,替换gina的对话框就行了吧。
    公司原来的gina代码是有一段hook代码,我觉得没有必要,做一个MFC DLL,里面定义一个登录对话框就行了。
    这样不管是32位还是64位的XP系统就都可以用了吧
      

  3.   


    在自己的程序之间通信真的不必要用什么hook。用hook即危险又不稳定
      

  4.   

    http://www.xiaozhou.net/ReadNews.asp?NewsID=569
    这里有例子.
      

  5.   

    现在有个一个问题,在系统启动的时候替换gina的登录对话框没有问题,
    但是在锁定状态下,我调用的是WlxWkstaLockedSAS函数,
    可以显示我定义的登录对话框,但是输入密码之后,还是会显示系统自带的锁定对话框,
    我想也许是我在最后返回theApp.MyWlxWkstaLockedSAS(pWlxContext,dwSasType)的原因吧(就是msgina.dll中的WlxWkstaLockedSAS)。
    我想请教大家的是,在这种情况下,程序该怎么写?
    直接返回msgina.dll中WlxLoggedOutSAS是不行的吧 ,
    但是该怎么做呢?