用MagicSet 中的高级隐藏试试

解决方案 »

  1.   

    老兄居然有如此功底,能拦住API,可不可以指点我一二!
      

  2.   

    To月光:
       我的意思是通过编程的方法来实现。再者,你说的那个软件我手上没有。你试过吗?
    Towr960204:
       源程序我刚刚写出来,还没有调试好,你可以先看看Kingrond的“怎么拦截系统函数?(超高度难题!)“和“如何截获其他程序调用的api,而转入执行你的代码?“这两篇文章,我的程序是照着他那个程序改写的。
      

  3.   

    能告诉我有注册表封锁硬盘的方法吗? My_Email:[email protected]
      

  4.   

    不过我有一个想法!就是用CopyHook来进行处理!在Hook中全部不允许操作就可以了。
      

  5.   

    CopyHook似乎只能Hook住对目录的操作
    对文件就不灵了
      

  6.   

    To zljzyj:
       有注册表封锁硬盘的方法,但是并不能完全的封锁,有些软件仍然可以访问被隐藏的硬盘。
    具体方法你可以去:http://www.sqreg.com/这个网站上看看,介绍的很全,使用注册表隐藏后,用键入路径的方法还是可以访问。但是如果再用修改注册表隐藏运行菜单后,就可以封住大多数用键入路径的方法访问硬盘的操作。不过有的软件例如腾讯的浏览器就算改了注册表后也不能封住。
    To Kingron:
       到底用CopyHook行不行??
       
      

  7.   

    To zljzyj:
       用注册表的确不能完全封锁硬盘,但可以蒙混一般的情况。具体方法可以在神奇注册表http://www.sqreg.com/上查到,在使用注册表隐藏后,用键入路径的方法还是可以访问。这时
    你再用注册表隐藏住运行菜单,一般的情况键入路径的方法就实效了!:)但是腾讯的浏览器中这一招还是可以。
    To Kingron:
      用CopyHook到底行不行??
      

  8.   

    TMD,老是连不上,害的发了两篇贴子!!
      

  9.   

    To wolf_cyj:
       copyhook不行,你有更好的方法么??
      

  10.   

    其实真正的要实现那个目的,只有用IFS Hook,但是必须写VxD,我又没有开发VxD的工具。我对VC也不熟悉。倒~~~~~~~~~~~~
    CopyHook应该可以,不过不知道对C:\,D:\之类的根目录起不起作用我就不知道了。
      

  11.   

    就只拦截findfirst,findnext和findclose试试
      

  12.   

    To Kingron:
       什么是IFS Hook??我有Vxd的开发工具--Vtoolsd,可以试试!VC虽然我也不熟,但是根据原理总可以试出点什么吧!你说呢?
    To gameboy999:
       哇,要拦截这三个函数??好,我试试!!
      

  13.   

    比如我ibm笔记本中的这块硬盘,具有硬盘密码锁功能。
    如果如果设置了密码,那么每次开机都会需要口令,这是保存在硬盘中的,由硬盘维护的口令,不通过的话,就是无法访问,可不管你装的什么dos,win2000或者linux之类的。就算拆下来换一台主机,还是没用的。
    这是不是要比大家讨论的方法灵?
      

  14.   

    to 严黎斌() 
         你那块硬盘的IC电路是定制的,它固然比软件锁来得狠,
         但实现的代价太高,
         在这里谈是没有价值的.
      

  15.   

    基本搞定,我已经知道怎样编写这个VXD,大家如果感兴趣的话!!大概3天后我就可以实现该功能了!
    等到有源码的时候我再告诉大家吧!!
      

  16.   

    summernightrain,祝你成功。
    我们期待着分享你的喜悦和代码 :)
      

  17.   

    请问大家,DeviceIoControl这个函数的用法?
      

  18.   

    我的Vxd已经编写出来了!!不过没什么意思!!用的IFSHOOK,大家如果想知道的话!看一下VtoolsD的例子就可以了解原理了!!同时我用Delphi还写了一个调用的例子!如果大家感兴趣的话,请回复我可以把原理告诉大家!!
      

  19.   

    [email protected] me a copy,ok? thanks!
      

  20.   

    我来说一下我程序里原理性的东西,其实很简单!在看下面的代码之前,请大家参阅Vxd开发的书!Vxd部分代码:(可以参阅VToolsd中IfsHook的例子)int _cdecl MyIfsHook(pIFSFunc pfn, //指向文件操作的指针 (改变有效)
               int fn, //表明文件操作的类型 (改变无效)
               int Drive,//表明所访问的驱动器(改变无效
               int ResType, 
     int CodePage, pioreq pir)
    {

        int LookupDrive,i;
    LookupDrive='A'-1+Drive;
        
        if (fn==IFSFN_FINDOPEN)
    {
            mypfn             =pfn; //纪录FindOpen的文件指针
    }    if ((Can_UseHideDrive_flag) && (HideDrive(LookupDrive)) && (fn==IFSFN_FINDNEXT) )
    {
            pfn=mypfn;  //满足条件就转为我的文件指针
    }
    return (*PrevHook)(pfn, fn, Drive, ResType, CodePage, pir);
    }
    BOOL OnSysDynamicDeviceInit()
    {
    Can_UseHideDrive_flag =FALSE;
    PrevHook = IFSMgr_InstallFileSystemApiHook(MyIfsHook);//创建IFSHOOK
    return TRUE;
    }关键的函数是:int _cdecl MyIfsHook(pIFSFunc pfn, int fn, int Drive, int ResType,
    int CodePage, pioreq pir)这个函数中参数 pfn是指向系统对文件操作的指针,这个指针决定了系统将调用那一个函数执行对文件的操作.pfn指向的函数有很多,比如findopen,findnext...等等.由于我不知道怎样得到该指针,,我用了一个自己的指针,记录下系统在做第一次findopen的指针.当系统要调用findnext函数时,我将它替换成findopen的指针,从而达到隐藏某一个驱动器下的目录及文件的目的.Can_UseHideDrive_flag标志和HideDrive函数都是我自定义用来判断是否需要将指向findnext的指针pfn改为指向findopen.
       该vxd调用后的效果就像电脑魔法保护(华军软件园有下载)做驱动器隐藏的效果一样,大家可以下一个来看看!!  与Vxd交互,我是用的共享内存的方法,即用delphi在共享内存中申请一块空间并存入隐藏信息,让后再用DeviceIoControl函数发送控制码给我的Vxd,Vxd得到这一特殊的控制码后就到这一块内存中读取该隐藏信息,并修改用来存储该信息的数组.最后调用HideDrive函数判断某一个驱动器是否该隐藏.  以上是小生的一点浅薄的研究,没有什么很深的价值,只起一个抛砖引玉的作用.因为工作原因我没有时间仔细研究这其中的奥妙,所以希望感兴趣的朋友做一个更深入的研究,让大家共同进步...
      

  21.   

    我的email是[email protected],欢迎来信讨论!