初步实现系统级拦截应用程序取硬盘物理序列号(最好是能够实现对指定程序拦截)
为了是程序能正常运行 发一个假的硬盘物理序列号和cpu编号给程序
不知道能否实现

解决方案 »

  1.   

    DDK
    懒得弄还得装虚拟机购买相应系统版本DDK然后还得弄个DriverIDE
      

  2.   

    这个不好做吧,要是我从BIOS文件中获取这些信息呢?该怎么拦截
      

  3.   

    很多情况下,应用程序判断硬盘物理序列号和cpu编号,都是直接查询注册表的,可以参考一个MSDN中查询系统信息的API,虽然也可以用很底层的办法去取的这些信息,不过似乎没有必要哦。所以可以试试修改一下注册表,也许也能实现你的目的
      

  4.   

    5楼的 请问下 硬盘物理序列号 和cpu编号在注册表里有么?在什么位置?
      

  5.   

    在注册表中,HKEY_LOCAL_MACHINE \ HARDWARE \ DESCRIPTION \ system \ CentralProcessor \ 0  就是cpu的具体信息。在HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ Scsi 下可以找到硬盘的信息,可能应为机子配置的不同,信息存放的位置会不同,你自己找一下吧。不过我也没试过,不知道能不能实现你的目的。
      

  6.   

    不明白你的意思,如果要拦截应用程序,还是用hook,如果拦截应用程序的创建,那么拦截CreateProcess,想拦截什么就到msdn里面找到相应的函数原型就可以了
      

  7.   

    硬盘物理序列号  获取有多种方法, 不好拦截
    cpu编号 一般是用汇编指令, 几乎不可能拦截建议楼主换个思路
      

  8.   

    5楼的 注册表中是有这些信息 不过修改以后重新启动又回到原来的信息了有个hdhook的程序有人看过么?谁能修改一个可以用的给我么?最好是把cpu编号也加进去 、或者谁能传个对应用程序拦截读取注册表信息的程序给我 
    谢谢 了 另说明下 本人不太会编程 
      

  9.   

    硬盘序列号在非管理员权限下是无法获取的,估计CPU信息应该也是如此。LZ看看能不能在权限上找找思路